我的for循环和条件返回混淆

时间:2019-06-16 11:53:51

标签: loops iterator

我写了一些代码以返回给定列表中所有偶数的True。它只会返回第一个数字。

当我编写函数iseven(L)时,我将其定义为:

for i in L: print i; 

我打印函数并获得列表中的所有数字。但是当我这样做时:

for i in L, if i%2==0, return True

突然,它仅返回列表中的第一个数字。

def iseven(L):
    for i in L:
        print (i)
        #if i%2==0:
        #return True
        #else:
        #return ''

注释掉的行是我想要的代码,但是由于它只是吐出列表中的第一个数字,因此我用print (i)检查了代码,并显示了每个数字。

2 个答案:

答案 0 :(得分:0)

Def number(list):

  for num in list: 
    # checking condition 

    if num % 2 == 0: 

      print(num, end = " ")

答案 1 :(得分:0)

如果陈述是一劳永逸的交易。您正在寻找的是一个for循环,遍历您拥有的每个数字或对象,并且可以为每个对象运行代码-在这种情况下,您的if和print语句。 for循环完成后,您可以退出。

在Python中:

def iseven:
   found = False
   for i in list:
      if i % 2:
         print(i)
         found = True
    return found

注意:found的值仅返回一次。如果要返回多个值,而不仅仅是像i一样打印它们,则需要像数组这样的数据结构。