我刚刚开始学习Python,而且我遇到了一个小问题。 我想运行我从中学习的书中给出的示例代码。我得到了理想的输出,但我也得到了一个我不需要它的输出 - 书中没有任何解释。
以下是代码:
>>> vowels = ['a', 'e', 'i', 'o', 'u']
>>> word = input("Provide a word to look for vowels in it: ")
Provide a word to look for vowels in it:
Sample Word
>>> found = {}
>>> for letter in word:
... if letter in vowels:
... found.setdefault(letter, 0)
... found[letter] += 1
...
0
0
0
>>> for k,v in sorted(found.items()):
... print(k,' was found ', v, ' times.')
...
a was found 1 times.
此代码用于查找元音在输入中出现的次数。需要最后一个输出(在print()命令中)。但是,第一个for ...循环给出了每个元音出现多少次的数字输出。我不需要输出。知道这里发生了什么吗?
万一重要,我使用Head First Python来学习。
答案 0 :(得分:0)
您正在看到
的返回值found.setdefault(letter, 0)
由于找不到字母键,因此会添加一个值为0的新字母键。
此值从setdefault
返回,控制台正在显示该值。
如果您将此作为可执行文件脚本运行,或者使用python script.py
运行,则会忽略此返回值,因为您在调用函数时不会将其分配给任何内容。