请教各位老师,为什么这个程序是死循环?
i = 1while i <= 30:
if (7 * i) % 2 == 1 and (7 * i) % 3 == 2 and (7 * i) % 5 == 4 and (7 * i) % 6 == 5 and (7*i) % 7 == 0:
print('该阶梯的最终数量',7 * i, i)
#break
else:
i = i + 1
请问各位老师,为什么这个程序是死循环?只有加入break才能退出?
因为你代码满足 if 条件后,只会进入 if 条件中,将不在进入 else
而循环条件 i 的数值改变只在 else 代码中,所以导致死循环
你需要在 if 中也对循环条件 i 的数值进行改变,或者将数值改变填写到 if-else 外
参考代码:
i = 1
while i <= 30:
if (7 * i) % 2 == 1 and (7 * i) % 3 == 2 and (7 * i) % 5 == 4 and (7 * i) % 6 == 5 and (7*i) % 7 == 0:
print('该阶梯的最终数量',7 * i, i)
i = i + 1
else:
i = i + 1
或
i = 1
while i <= 30:
if (7 * i) % 2 == 1 and (7 * i) % 3 == 2 and (7 * i) % 5 == 4 and (7 * i) % 6 == 5 and (7*i) % 7 == 0:
print('该阶梯的最终数量',7 * i, i)
i = i + 1 当满足了if条件后,else里面的语句就不会被执行了,所以i的值就一直是同一个,刚好i又小于30。一直满足while语句就变成死循环了{:10_279:} YSW9527 发表于 2022-2-12 15:10
当满足了if条件后,else里面的语句就不会被执行了,所以i的值就一直是同一个,刚好i又小于30。一直满足whil ...
谢谢
页:
[1]