Ste*_*vis 1 python count modulus
我已经创建了一个列表和该列表的迭代循环。我正在尝试使用模数运算符计算所有偶数。我已经初始化了count变量,并使用了count增量和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)
Run Code Online (Sandbox Code Playgroud)
我希望数字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]
Run Code Online (Sandbox Code Playgroud)