while循环嵌套需要把变量初始化
题目:使用while循环打印一个7行7列的矩形,图片如下:
如下图,是没有初始化变量的结果
i
= 1
j
= 1
while i
<= 7:
while j
<= 7:
print("*", end
=" ")
j
+= 1
print( )
print("我是外循环----->>%d"%i
)
i
+= 1
在这里我们发现只是打印了一行,而并没有打印出矩形。
探究其原因,如下所示:
i
= 1
j
= 1
while i
<= 7:
while j
<= 7:
print("我是内循环————>>%d"%j
)
j
+= 1
print("我是外循环----->>%d"%i
)
i
+= 1
通过上图我们发现内循环打印了7次,外循环也打印了7次。 出现这种原因是因为:没有为变量做初始化的操作(就是回归原来的值—>> i = 1的状态)。 追其根本是因为: i += 1 等价于 i = i + 1 j +=1 等价于 j = j + 1 所以每次让内循环回归初始值,那么问题就解决了
正确的结果如下所示
i
= 1
j
= 1
while i
<= 7:
j
= 1
while j
<= 7:
print("*", end
=" ")
j
+= 1
print( )
i
+= 1
所也在这里告诫大家千万不要忘了把变量初始化,同时也是告诫我自己。