while-else

1 #!/usr/bin/env python
  2 #encoding: utf-8
  3 #求给定范围内每个值得最大公约数
  4 #分析:1不是最小公约数,最小公约数>=2,那么最大公约数<=x/2
  5 #定义医德函数,将方法封装
  6 def showMaxFactor(num):
  7     count = num / 2
  8     while count > 1:
  9         if num % count == 0:
 10             print 'largest factor of %d is %d ' % (num,count)
 11             break            #找到公约数后停止循环。
 12         count -= 1
 13     else:
 14         print num, 'is prime'  #没有执行break,才会打印else下面语句
 15 for eachNum in range(10,21):
 16     showMaxFactor(eachNum)

执行结果:

[root@7 script]# python 1.py
largest factor of 10 is 5 
11 is prime
largest factor of 12 is 6 
13 is prime
largest factor of 14 is 7 
largest factor of 15 is 5 
largest factor of 16 is 8 
17 is prime
largest factor of 18 is 9 
19 is prime
largest factor of 20 is 10 

 

posted @ 2017-10-20 16:58  明王不动心  阅读(162)  评论(0编辑  收藏  举报