⑴ 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]