在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ Collatz序列,最后返回值中None應(yīng)該怎么處理掉

Collatz序列,最后返回值中None應(yīng)該怎么處理掉

新手學(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 :
5
16
8
4
2
1
None

如上返回值中卻意外的出現(xiàn)了None,想問這個(gè)None是因?yàn)榇a中的哪個(gè)點(diǎn)引起的,以及應(yīng)該如何去除?
之前嘗試過if num == 1:break,或者調(diào)用sys.exit()都沒法解決

回答
編輯回答
鐧簞噯

因?yàn)槟愕倪@句:

print(collatz())

collatz作為函數(shù), 沒有返回值的時(shí)候默認(rèn)返回None. 這個(gè)None就被print()函數(shù)打印出來了.
所以你直接這樣就好:

collatz()
2018年9月18日 13:25