【发布时间】:2019-02-06 12:11:30
【问题描述】:
我在 python 3 中编写了一个程序来执行 collatz 序列。这是我被要求做的:
编写一个名为collatz() 的函数,它有一个名为number 的参数。如果
数字是偶数,那么collatz() 应该打印number // 2 并返回这个值。
如果数字是奇数,则collatz() 应该打印并返回3 * number + 1。
然后编写一个程序,让用户输入一个整数并保持
在该数字上调用 collatz(),直到函数返回值 1。
记得将返回值从input() 转换为整数
int() 函数 - 否则,它将是一个字符串值。
这是我的代码:
def collatz(number):
while number is not 1:
if number % 2 == 0:
number = number // 2
print(number)
else:
number = 3 * number + 1
print(number)
p = int(input("Please input an integer: "))
print(p)
collatz(p)
我知道我没有添加输入验证,但除此之外我能否获得有关此代码的一些反馈?它按预期工作。
我还看到了this post,但我不明白他们为什么在 print 语句之后添加了 return 语句。
【问题讨论】:
标签: python-3.x return