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