最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python入门coding之一:2去了哪里?

XAMPP下载 admin 665浏览 0评论

闲来无事,在python2.4的手册里找到一段代码:

 

  1. >>> for n in range(2, 10):
  2. … for x in range(2, n):
  3. … if n % x == 0:
  4. … print n, ‘equals’, x, ‘*’, n/x
  5. … break
  6. … else:
  7. … # loop fell through without finding a factor
  8. … print n, ‘is a prime number’

手册上的输出结果是:

 

  1. 2 is a prime number
  2. 3 is a prime number
  3. 4 equals 2 * 2
  4. 5 is a prime number
  5. 6 equals 2 * 3
  6. 7 is a prime number
  7. 8 equals 2 * 4
  8. 9 equals 3 * 3

我在Eclipse里按装了PyDev,采用了Python3.3的解释环境,代码如下:

 

  1. #!/usr/bin/env python3.3
  2. #–encoding-utf8–
  3. #2~10以内的素数
  4. for n in range(2,10):
  5. for x in range(2,n):
  6. if n % x == 0:
  7. print(n,’equals’,x,’*’,n/x)
  8. break
  9. else:
  10. #loop fell through without finding a factory
  11. print(n,’is a prime number’)
  12. break

我的输出结果如下:

 

  1. 3 is a prime number
  2. 4 equals 2 * 2.0
  3. 5 is a prime number
  4. 6 equals 2 * 3.0
  5. 7 is a prime number
  6. 8 equals 2 * 4.0
  7. 9 is a prime number

这里有两个问题:

1、为何原书里else这段suite里没有break?(python3.3里如果没有break,素数时会输出多次)

2、在后面的代码输出里,素数2去了哪里?

初学乍练,久思不得其解,有明白的大侠请指点一二,不胜感激。

另,为了查明range(2,10)的范围,特地作了如下测试:

 

 

  1. # test range function
  2. for i in range(2,10):
  3. print(i)

输出结果如下:

 

 

  1. 2
  2. 3
  3. 4
  4. 5
  5. 6
  6. 7
  7. 8
  8. 9
  9.  

转载请注明:XAMPP中文组官网 » Python入门coding之一:2去了哪里?

您必须 登录 才能发表评论!