通过 for 循环返回函数的值在多次迭代中不起作用

我定义了以下函数:


def test():

    return 1

一旦我在控制台中输入以下内容:


test()

我得到的期望值是 1 返回。但我希望 1 返回两次,所以我在控制台中输入:


values = [1,2]

for i in values:

    test()

但我现在没有得到任何输出。为什么它不产生任何输出,我该如何编辑它才能产生任何输出?


慕哥6287543
浏览 181回答 4
4回答

猛跑小猪

首先,您应该修复 for 循环。如果要指定 for 循环应运行的次数,应使用 range() 函数。for x in range(2):     test()其次,返回值不会输出值,除非您打印它,即print(test())

回首忆惘然

我不知道为什么它对你不起作用,但是当我在我的计算机上运行这段代码时,一切都很好def test():    return 1print("First case:")print(test())print("Second case:")list = [1,2]for i in list:    print(test())  输出:First case:1Second case:11

梦里花落0921

只需在 for 循环内的 test() 上打印,如下所示for i in values:    print(test())现在输出将是:   1   1

紫衣仙女

实际上,您需要打印返回值才能将其显示在控制台中。尝试这个:values = [1, 2]for i in values:    print(test())您可能会问为什么它在第一种情况下有效。我没有确切的答案,但我可以给你一个线索。自动打印“最后一行代码”的返回值。这不是正确/好的解释。也许其他人可以帮忙解决这个问题。顺便说一句,这是编写上述代码的更好方法:for i in range(2):    print(test())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python