1 #!/usr/bin/env python
2 # coding:utf-8
3 # write by mfyang
4 # collatz.py
5 # 從用戶讀入一個值,並判斷這個值是不是一個int類型的整數,如果不是給出異常提示
6 # 如果這個值是偶數 那么讓這個數//2
7 # 如果這個值是奇數 那么讓這個數 ×3 + 1
8 # 通過不斷調用函數的返回值 並打印這個返回值 直到這個返回值為1
9
10 num = raw_input("please input a number:") 11 #except NameError:
12 # print "Your input not a number"
13
14 def collatz(num): 15 if num % 2 == 0: 16 return num // 2
17 else: 18 return num * 3 + 1
19 return num 20
21 isnumber = 1
22 try: 23 num = int(num) 24 except ValueError: 25 print "Your input not a nubmer"
26 isnumber = 0 27 while num != 1: 28 if isnumber == 1: 29 num = collatz(num) 30 print num 31 else: 32 break