【问题标题】:return vs print in conditional statements within a loop在循环内的条件语句中返回 vs 打印
【发布时间】:2018-11-12 11:31:26
【问题描述】:

我试图理解为什么在条件句中返回的第二个函数只会循环一次。 l = [1,2,3,45,6,7] 打印的第一个工作示例:

def xyz(l):
    for i in l:
        if i==7:
            print('7 found')
        else:
            print('7 not found')

xyz(l)

输出:

7 not found
7 not found
7 not found
7 not found
7 not found
7 found

现在是带有返回语句的函数:

def xyz(l):
    for i in l:
        if i==7:
            return '7 found'
        else:
            return '7 not found'

结果:

'7 not found'

循环只对第一个元素运行一次并返回 else 值。 请不要对此投反对票,这是我在继续学习python之前需要了解的事情。 return 语句是否退出循环?

提前致谢

【问题讨论】:

  • 因为这就是return 正在做的事情。它从函数返回,这将停止任何循环。你期望它做什么?
  • @DeepSpace 我希望它在退出之前先遍历所有元素

标签: python loops for-loop if-statement


【解决方案1】:

'return' 结束函数的执行,'return something' 表示函数试图达到的值是:something;它可以被可视化为函数的答案。

'print' word 只在控制台上显示某个字符串(文本)。

【讨论】:

    猜你喜欢
    • 2019-05-02
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2015-05-05
    • 2018-03-25
    相关资源
    最近更新 更多