我正忙于软件工程训练营。有一个问题我很难回答,特别是因为它特别要求我不要使用函数。这是问题:
声明一个名为hero 的变量等于Super Man
按照以下方式打印出来:
S^U^P^E^R M^A^N
不要使用任何函数来做这件事
通常我可以使用函数轻松地做到这一点,但现在我完全卡住了
请您参考如下方法:
嵌套列表理解可能有更短的方法,但这可能有效:
lower_to_upper = {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E', 'f': 'F', 'g': 'G', 'h': 'H', 'i': 'I', 'j': 'J', 'k': 'K', 'l': 'L', 'm': 'M', 'n': 'N', 'o': 'O', 'p': 'P', 'q': 'Q', 'r': 'R', 's': 'S', 't': 'T', 'u': 'U', 'v': 'V', 'w': 'W', 'x': 'X', 'y': 'Y', 'z': 'Z'}
hero = "Super Man"
string_list = ['^'+lower_to_upper[c] if c in lower_to_upper else '^'+c for c in hero ]
new_string = ""
for c in string_list:
if c[1] == " ":
c = " "
new_string += c
new_string = new_string[1:]
print new_string
当然这确实使用内部python函数,如__iter__、__next__、__getattr__、__getitem__ 等等...但是如果你试图深入那个兔子洞,你会发现你实际上无法编写任何 python 代码而不调用至少 一些 隐式或显式函数
