找到列表中最大的奇数

时间:2014-12-15 16:47:25

标签: python

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)

识别并打印列表中最大的数字?我希望有人能为我揭开光明,帮助我理解我的这种困境。

2 个答案:

答案 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: