【问题标题】:How to use Loop inside Function corectly如何正确使用Loop inside Function
【发布时间】:2022-11-16 05:09:03
【问题描述】:

我想在函数内部正确使用循环

这是我的代码:

def test():
    for i in range(1,10):
        return i


def check():
    print(test())
check()

输出为 1

我想要完整的迭代 输出:1,2,4....10

【问题讨论】:

  • “我想要完整的迭代输出:1,2,4....10”这没有意义。是什么目的你要输出?一个列表?元组?字典?等等等等
  • 您可能会混淆“返回”和“打印”。 return 结束函数的执行,您的主代码打印出返回值(将为 1,因为您已经在循环的第一次迭代中停止了该函数)。如果你想让这个功能打印十个数字,在循环内使用print(i)。如果你想返回十个数字,那么你必须返回一个列表,你不会从循环内部这样做。
  • 我希望完整循环发生,当 test() 传输 1 之后,然后想要传输 2、3、4 工作,而 10 次将无法实现

标签: python python-3.x list python-2.7


【解决方案1】:

在 Python 中(与几乎所有编程语言),函数只能return一次。一旦 Python 遇到return,它就会退出该函数。

Python但是,有一个称为“生成器”的功能:使用 yield 关键字,您可以(某种程度上)返回不止一次:

def test():
    for i in range(1,10):
        yield i

要将这些值扩展为 print 函数的参数,请像这样使用 *

def check():
    print(*test())
>>> check()
1 2 3 4 5 6 7 8 9

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2016-05-25
    • 2020-03-22
    • 2021-05-31
    • 2017-05-06
    • 2022-12-17
    • 1970-01-01
    相关资源
    最近更新 更多