这就像如果我在范围 x 中使用 for 循环,在另一个范围为 y 的 for 循环中使用;然后内部 for 循环运行 y*x 次。
例:
for i in range(6):
for j in range(20):
print('*',end=' ')
print( )
输出:
********************
********************
********************
********************
********************
********************
j=1
for i in range(6):
while j<21:
print('*',end=' ')
j+=1
print( )
预期:
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
结果:
* * * * * * * * * * * * * * * * * * * *
j
变量的值不会重置,因为它是在循环外部声明的。
每次离开while
循环时,您都必须重置变量,或者只是在循环中声明它如下: 第一种可能性:
j = 1
for i in range(6):
while j<21:
print('*',end=' ')
j+=1
j = 1
print( )
第二种可能性(最好的一种(:
for i in range(6):
j = 1
while j<21:
print('*',end=' ')
j+=1
print( )
看来你在第二个陈述中有一个错误......您应该在 for 循环中重置j
变量:
for i in range(6):
j=1
while j<21:
print('*',end=' ')
j+=1
print( )
你永远不会为下一次迭代重置 j
所以外部 for 循环的下一次迭代,j 从 21 开始
for i in range(6):
j = 1
while j<21:
在每个 for 循环中重置 J 变量
for i in range(6):
j=1
while j<21:
print('*',end=' ')
j+=1
print( )