我就不吐槽python3学习起来有多烦了,好多好多资源都是基于2的,3都出现这么多年了,怎么2还这么多啊!对于初学者而言,每测试一个例子,就得去google各种2与3的区别,然后默默地改代码,做测试,实在是非常影响学习效率。
就说说我看的官方的文档吧,我打开python tutorial,3.3.2版的,和我本地python一个版本,我随便打开了一个页面,测试了一个例子,却发现各种差别。
谁能告诉我这是为什么啊???
官方文档是这样写的:
在4.4 break, continue这一节当中,有一个例子:
指南上的输出是这样的:
我在本地IDLE写了一下,一样的代码,这样写的:
for n in range(2,10):
for x in range(2,n):
if n%x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
print(n, 'is a prime number')
运行结果却是:
3 is a prime number
4 equals 2 * 2
5 is a prime number
5 is a prime number
5 is a prime number
6 equals 2 * 3
7 is a prime number
7 is a prime number
7 is a prime number
7 is a prime number
7 is a prime number
8 equals 2 * 4
9 is a prime number
9 equals 3 * 3
一个问题是2不见了这个我能理解,因为n=2的时候range(2,n)应该是空的,因为range左闭右开,不知道指南里面是怎么出现2的。
还有个问题是break似乎无用啊。