为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕哥6287543 2023-08-22 17:17:28
我定义了以下函数:def test():    return 1一旦我在控制台中输入以下内容:test()我得到的期望值是 1 返回。但我希望 1 返回两次,所以我在控制台中输入:values = [1,2]for i in values:    test()但我现在没有得到任何输出。为什么它不产生任何输出,我该如何编辑它才能产生任何输出?
查看完整描述

4 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

首先,您应该修复 for 循环。如果要指定 for 循环应运行的次数,应使用 range() 函数。

for x in range(2):
    test()

其次,返回值不会输出值,除非您打印它,即print(test())



查看完整回答
反对 回复 2023-08-22
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我不知道为什么它对你不起作用,但是当我在我的计算机上运行这段代码时,一切都很好


def test():

    return 1


print("First case:")

print(test())


print("Second case:")

list = [1,2]

for i in list:

    print(test())  

输出:


First case:

1

Second case:

1

1


查看完整回答
反对 回复 2023-08-22
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

只需在 for 循环内的 test() 上打印,如下所示


for i in values:

    print(test())

现在输出将是:


   1

   1


查看完整回答
反对 回复 2023-08-22
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

实际上,您需要打印返回值才能将其显示在控制台中。尝试这个:


values = [1, 2]

for i in values:

    print(test())

您可能会问为什么它在第一种情况下有效。我没有确切的答案,但我可以给你一个线索。自动打印“最后一行代码”的返回值。这不是正确/好的解释。也许其他人可以帮忙解决这个问题。


顺便说一句,这是编写上述代码的更好方法:


for i in range(2):

    print(test())


查看完整回答
反对 回复 2023-08-22
  • 4 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信