需要帮助才能理解代码 当有人打印时,有人可以回答为什么没有。
s='hellothisisawesomeharpreet'
newdic={}
for i in s:
newdic[i]= newdic.get(i,0)+1
print newdic
def display_hand(newdic):
for letter in newdic.keys():
for j in range(newdic[letter]):
print letter,
hand = display_hand(newdic)
print hand
{'a': 2, 'e': 5, 'i': 2, 'h': 3, 'm': 1, 'l': 2, 'o': 2, 'p': 1, 's': 3,
'r': 2, 't': 2, 'w': 1}
a a e e e e e i i h h h m l l o o p s s s r r t t w None
答案 0 :(得分:0)
问题出在这一行:
hand = display_hand(newdic)
这一行:
print letter,
display_hand()
没有return
声明会发生什么。
如果没有return
语句,该函数将默认为None
。它并不关心是否有印刷声明。
这是因为根据Python,函数中的打印就像函数的副作用一样,但不是结果本身。根据Python,这实际上是return
编辑的内容。
因此,最后,改变该行,来自:
print letter,
要:
return letter,