嘿伙计们,我在尝试计算列表中所有偶数整数并打印偶数整数时遇到了一些麻烦。我是编程新手,所以可能无法及时了解你们这些人的知识和术语。如果你能帮助我,那就太好了!这是我已经开始的。
list = [2,4,5,6,8]
count_even=0
while count_even<len(list):
if list[count_even]%2==0:
count_even=count_even + 1
else:
list[count_even]%2!=0
count_even=count_even
print count_even
答案 0 :(得分:4)
我会创建一个偶数整数的临时列表,然后测量长度:
lst = [2,4,5,6,8]
print len([i for i in lst if i %2 == 0])
使用列表理解。如果你想避免这种情况,只需使用一个循环,如:
lst = [2,4,5,6,8]
count_even=0
for num in lst:
if num %2 == 0:
count_even += 1
print count_even
答案 1 :(得分:3)
list = [2,4,5,6,8]
count = 0
for x in list:
if x % 2 == 0:
print "Even Number:", x
count=count + 1
print "Count:", count
答案 2 :(得分:2)
filter(lambda x: x%2==0 ,[0,1,2,3,4,5])
你也可以尝试一个班轮。
list = [2,4,5,6,8]
count_even=0
i=0
while i<len(list):
if list[i]%2==0:
count_even=count_even + 1
i=i+1
print count_even
当你count_even
没有增加时,你可能正在运行一个无限循环。你需要使用2个变量。
答案 3 :(得分:2)
num_list = [2,4,5,6,8]
count_even=0
for n in num_list:
if n%2==0:
count_even=count_even + 1
print count_even
更改说明:
list
变量名称。不要使用Python对象的名称。while
更改为for
;不需要以这种方式编制索引列表else
块;无论如何,它现在没有做任何事情。 count_even=count_even
您的问题在于索引编制。一切都基于count_even
变量。当while
循环小于列表的长度时,else
循环仍在继续,并且在{{1}}块中,您没有递增它。因此,如果列表中有奇数,则会有无限循环
答案 4 :(得分:2)
list = [2,4,5,6,8]
count_even=0
for i in xrange(len(list)):
if list[i]%2==0:
count_even += 1
print count_even
有几件事:
count_even
作为计数器和索引值答案 5 :(得分:1)
您也可以使用map
>>> lst = [2,4,5,6,8]
>>> map(lambda x:x%2==0,lst).count(True)
4
python 3x:
list(map(lambda x:x%2==0,lst)).count(True)