我已经为这个列表创建了一个列表和一个迭代循环。我正在尝试使用模数运算符计算所有偶数。我已经初始化了计数变量并使用计数增量和 if 语句来捕获嵌套循环中的所有偶数。但是我得到的只是第一名。 count 等于 1,这是因为使用了不正确的模数,而 item = 10 ,这是因为迭代循环到达了列表的末尾吗?
我不知道要更改什么,代码结构对我来说一切正常。我尝试缩进打印功能。这表明模数正在捕获偶数,但计数并未将这些数相加。
list = [1,2,3,4,5,6,7,8,9,10]
for item in list:
count = 0
if (item % 2 == 0):
count = count + 1
print(count)
print(item)
print(list)
我希望程序的结果是数字 5,因为列表中有 5 个偶数
请您参考如下方法:
将 count=0 放在 for 循环之外。现在,您在 for 循环的每次迭代期间将 count 重新初始化为 0。
此外,不要将变量命名为 built-in函数名:在你的例子中,不要使用 list 作为变量名。下面,我以 lst 为例。
其他小修改:您可以只使用 count += 1 而不是 count = count + 1。前者是一种简洁的写作方式。此外,在您的案例中,您不需要将单个条件括在括号 () 中。
lst = [1,2,3,4,5,6,7,8,9,10]
count = 0
for item in lst:
if item % 2 == 0:
count += 1 # equivalent to count = count + 1
print(count)
print(item)
print(lst)
# 5
# 10
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
