【问题标题】:return statement is not working properly in for loop [duplicate]return 语句在 for 循环中无法正常工作 [重复]
【发布时间】:2020-09-20 17:42:22
【问题描述】:
def chek(name):
    for i in range(3):
        print(name)
        print(i)
        if i == 1:
            chek(name="name2")
        elif name == 'name2':
            print("changed name: ",name)
            return name

s = chek("name1")

print("final name:",s)

在这段代码中,我的预期输出是:

name1
0
name1
1
name2
0
changed name: name2
final name: name2

实际输出为:

name1
0
name1
1
name2
0
changed name:  name2
name1
2
final name:  None

谁能帮我理解, 我的代码有什么问题还是它的行为

【问题讨论】:

  • 请注意您的函数如何 return 没有任何东西 if i == 1

标签: python-3.x for-loop return return-value


【解决方案1】:

尝试更新这部分:


if i == 1:
    return chek(name="name2")

这将返回第二个check() 调用值;

【讨论】:

  • 谢谢,我得到了流程if i == 1: chek(name="name2") 这将返回“name2”,我没有再次返回以退出循环,它在停止的地方恢复 for 循环,然后它不满足条件并因此返回None thnks
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
相关资源
最近更新 更多