新手學(xué)習(xí)Python,章節(jié)作業(yè)中需要編寫Collatz序列,然后自己編寫這樣的代碼這是關(guān)于Collatz序列的代碼練習(xí)print('Enter number :')def Collatz():try: num = int(input()) while num !=1 : if num %2 == 0: num = num // 2
print(num)
elif num %2 == 1: num = 3*num+1
print(num)
except ValueError: print('Error! Please Enter number')print(Collatz())Enter number :5168421None如上返回值中卻意外的出現(xiàn)了None,想問這個None是因?yàn)榇a中的哪個點(diǎn)引起的,以及應(yīng)該如何去除?之前嘗試過if num == 1:break,或者調(diào)用sys.exit()都沒法解決
1 回答

蝴蝶不菲
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個贊
因?yàn)槟愕倪@句:
print(collatz())
collatz
作為函數(shù), 沒有返回值的時候默認(rèn)返回None
. 這個None
就被print()
函數(shù)打印出來了.
所以你直接這樣就好:
collatz()
添加回答
舉報
0/150
提交
取消