我试图制作一个当你输入一张桌子时的功能,例如“鱼,胡萝卜,牛肉,鱼”等。它检测了多少次' Fish'输入,在这种情况下2.但当我尝试这样做时,它返回'无'而不是2。
def word_count(x):
count = 0
for item in x:
if item == 'Fish':
count = count + 1
return count
word_count(['Fish', 'Carrot', 'Beef', 'Fish'])
任何帮助都会受到赞赏,因为我对Python很陌生,谢谢。
答案 0 :(得分:1)
您的代码问题:您的函数在return
语句中是if
值。因此,当Fish
列表中没有x
时,它将返回None
(,这是Python中函数返回的默认值)。尝试以下代码,它将起作用:
def word_count(x):
count = 0
for item in x:
if item == 'Fish':
count = count + 1
return count
建议:您可以使用列表中的count()
函数来简化您的功能。例如:
>>> my_list = ['Fish', 'Carrot', 'Beef', 'Fish']
>>> my_list.count('Fish')
2
答案 1 :(得分:1)
这几乎是正确的,除了:
x
,根据你的逻辑应该是一个字符串列表,所以你应该在调用函数时将它括在[]
中。然后你可以迭代它。
当你得到答案时,你应该从函数返回,即迭代列表。
所以修正后的版本看起来像
def word_count(x):
count = 0
for item in x:
if item == 'Fish':
count = count + 1
return count
word_count(['Fish', 'Carrot', 'Beef', 'Fish'])