当我打印手

时间:2017-04-09 21:51:10

标签: python python-2.7 dictionary

需要帮助才能理解代码 当有人打印时,有人可以回答为什么没有。

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

1 个答案:

答案 0 :(得分:0)

问题出在这一行:

hand = display_hand(newdic)

这一行:

print letter,

display_hand()没有return声明会发生什么。

如果没有return语句,该函数将默认为None。它并不关心是否有印刷声明。

这是因为根据Python,函数中的打印就像函数的副作用一样,但不是结果本身。根据Python,这实际上是return编辑的内容。

因此,最后,改变该行,来自:

print letter,

要:

return letter,