【问题标题】:My for loop and conditional return confusion我的 for 循环和条件返回混淆
【发布时间】:2019-06-16 11:53:51
【问题描述】:

我编写了一些代码来为给定列表中的所有偶数返回 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)检查了代码,它显示了每个数字。

【问题讨论】:

  • 请指定相关代码的编程语言。

标签: loops iterator


【解决方案1】:

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

在 Python 中:

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

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

【讨论】:

    【解决方案2】:
    Def number(list):
    
      for num in list: 
        # checking condition 
    
        if num % 2 == 0: 
    
          print(num, end = " ")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-08
      • 2016-06-16
      • 1970-01-01
      • 2016-05-05
      • 2013-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多