|
本帖最后由 QuentinXu 于 2018-2-4 18:36 编辑
各位大神,本人初学python菜鸟一枚,今天学到for...else循环语句时,发现break不同的缩进距离程序报的结果不一样,我想知道为什么,还望各问大神相助!代码和输出结果如下
1.代码1
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print( '%d 等于 %d * %d' % (num,i,j))#打印num的两个因子
break
结果:
10 等于 2 * 5,12 等于 2 * 6,14 等于 2 * 7,16 等于 2 * 8,18 等于 2 * 9
2.代码2
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print( '%d 等于 %d * %d' % (num,i,j))#打印num的两个因子
break
结果:
10 等于 2 * 5,12 等于 2 * 6,14 等于 2 * 7,15 等于 3 * 5,16 等于 2 * 8,18 等于 2 * 9
与第一个代码相比,第二个代码的break多缩进了4个空格,结果就多报了一个15等于3*5,我想知道这是为什么,请各位大神帮助
|
|