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