return 语句在 for 循环中无法正常工作

return statement is not working properly in for loop

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

任何人都可以帮助我理解, 我的代码有什么问题或者是行为

尝试更新这部分:


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

这将是 return 第二个 check() 调用值;