首页 > 解决方案 > 关于 Collat​​z Function 的一个简单问题,为什么这是一个无法访问的代码?

问题描述

我是 python 的新学习者,当我尝试编写 Collat​​z 函数时,我发现 pycharm 显示一行无法访问。我想知道为什么函数不能运行代码

def Collatz(numBer):
        if numBer%2 == 0:
            return numBer//2
        else:
            return 3*numBer+1
            print(numBer)       #this code is unreachale
print('Please input the number:')
numBer = int(input())
while numBer != 1:
    Collatz(numBer)
    print(Collatz(numBer))      #because the former code are unreachable,so I write this to print the results
    numBer = Collatz(numBer)

标签: python-3.x

解决方案


return语句下方同一范围内的所有代码都无法访问,因为该函数将在那里完成其执行。在您的情况下,您正在返回结果,因此无需再次重新运行该函数来打印它。只需将其放入变量并使用它:

def Collatz(numBer):
        if numBer%2 == 0:
            return numBer//2
        else:
            return 3*numBer+1

print('Please input the number:')
numBer = int(input())
while numBer != 1:
    numBer = Collatz(numBer)
    print(numBer)   

推荐阅读