Python代码打印输出而不使用print()命令

时间:2018-05-31 19:06:12

标签: python python-3.6

我刚刚开始学习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来学习。

1 个答案:

答案 0 :(得分:0)

您正在看到

的返回值
found.setdefault(letter, 0)

由于找不到字母键,因此会添加一个值为0的新字母键。 此值从setdefault返回,控制台正在显示该值。

如果您将此作为可执行文件脚本运行,或者使用python script.py运行,则会忽略此返回值,因为您在调用函数时不会将其分配给任何内容。