代码:
def search_number(list, number):
count = 0
for item in list:
if(item == number):
count += 1
print("Count: {0}".format(count))
num = [1,4,2,3,4,5,10,20]
number = input("Enter num: ")
search_number(num, number)
如果我输入一个数字(例如4),则预期输出为2,但是此代码段的输出为0。
答案 0 :(得分:4)
您的输入是一个字符串,但是您的列表具有整数。 将输入转换为int:
number = int(input("Enter num: "))
答案 1 :(得分:2)
除了@Netware的答案外,Python还提供了一种有效的计数方式:
num = [1,4,2,3,4,5,10,20]
print(num.count(1))
答案 2 :(得分:0)
input()
函数返回一个字符串。您正在将字符串与int进行比较。
尝试一下:
number = int(float(input(...)))
答案 3 :(得分:0)
也许您想使用循环,尽管使用Counter()
来获取对象计数的另一种方法是:
from collections import Counter
num = [1,4,2,3,4,5,10,20]
number = input("Enter num: ") # 4
print(Counter(num)[int(number)]) # 2