numbers = [1, 2 ,3, 4, 5]
l = 0
for n in numbers:
if n%2 != 0 and n > l:
#print(n)
l = n
if l == 0:
print ('Odd numbers are not inputted')
else:
print ('Largest odd no. is: ', l)
在识别出它们使用的整数(如果它们是奇数)(甚至是这种情况)之后,我运行程序并确实显示5是列表中最大的奇数。我很好奇这是怎么发生的,所以我试着打印变量' n'然后产生以下数字:1,3,5。
如果l = n,这意味着l等于1,3和5,那么这个else语句怎么来
else:
print ('Largest odd no. is: ', l)
识别并打印列表中最大的数字?我希望有人能为我揭开光明,帮助我理解我的这种困境。
答案 0 :(得分:6)
l
不等于“1,3和5”。它在第一次通过时等于1,然后随后设置为3,然后设置为5,然后循环结束。所以它保留了循环结束时的值,即5。
答案 1 :(得分:2)
这应该会让事情变得更加明显:
# Integers 1, 2 ,3, 4, 5 are used
l = 0
for n in numbers:
if n%2 != 0 and n > l:
l = n
print("L is now {}:".format(l)) # <=
else:
print("skip {}".format(n)) # <=
导致
L is now 1:
skip 2
L is now 3:
skip 4
L is now 5: