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
所也在这里告诫大家千万不要忘了把变量初始化,同时也是告诫我自己。