⑴ python 新手求解答
defcollatz():
number=input()
ifnumber%2==穗锋0:
print(number//2)
elifnumber%2==1:
print(3*number+1)
你的错误在于最后一宽橡个print的右括号用的是中文猜巧晌输入的括号,你对比一下 ‘)’和')'。
⑵ python初学者的一个小程序编写问题
defcollatz(number):
ifnumber%2==0:
#偶数
#打印出number//2,并返回该值。
print(number//2)
returnnumber//2
else:
#奇数
#打印并返回3*number+1。
print(number*3+1)
returnnumber*3+1
num_return=0
whilenum_return==0:
str_input=input('input:')
try:
num_input=int(str_input)
num_return=collatz(int(num_input))
ifnum_return==1:
break
else:
num_return=0
exceptValueError:
print('请输入数值')
⑶ Collatz 序列 python
不要放在租敏python交互编辑器里运行,放在python命令中型脊行卖渗编辑器里保存后再运行就可以了。
⑷ Python3:Collatz 序列 编写一个名为collatz()的函数,它有一个名为number的参数:
要有轿橡返回值,才会退氏裂出循环,你写的函数返回的都是歼帆闭None。
⑸ PYTHON 新手一枚
就按照描述来呗,input的是个list.只要这个list的棚游最后一项不是1就一直按照规则链帆销继续下去。轿拍
def collatz(L):
end = L[len(L)-1]
if end == 1:
return L
elif end%2 == 0:
L.append(end/2)
return collatz(L)
else:
L.append((end*3)+1)
return collatz(L)
a=[6]
collatz(a)
[6, 3, 10, 5, 16, 8, 4, 2, 1]