python编程快速上手之第3章实践项目参考答案

时间:2024-03-07 18:35:52
  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