python-3.x - 关于 Collatz Function 的一个简单问题,为什么这是一个无法访问的代码?
问题描述
我是 python 的新学习者,当我尝试编写 Collatz 函数时,我发现 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)
解决方案
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)
推荐阅读
- java - 迄今为止的 MongoDB 纪元时间戳
- python - PyTorch:如何将相同的随机变换应用于多个图像?
- javascript - React - 评估子组件范围内的事件处理程序
- java - 唯一包含键但在不同字段上排序的集合
- arrays - 使用 numpy 数组输出列表中的第 n 个值
- c - Visual Studio 代码 - 调试
- google-places-api - Google API for Restaurants Places 在特定国家/地区?
- javascript - 当使用 JS/Jquery 动态更改元素时,等待元素的 css 被更新
- node.js - 如何使用简单的节点记录器模块
- spotify - 我正在使用 react 进行 Spotify 克隆,但我收到用户身份验证错误 INVALID_CLIENT: Invalid redirect URI