while的一个小问题
x = 7i = 1
flag = 0
while i <= 200:
if (x % 2 == 1) and (x % 3 == 2 ) and (x % 5 == 4) and (x % 6 == 5) and (x % 7 == 0):
flag = 1
i += 1
else:
x = (i + 1) * 7
i += 1
if flag == 1:
print('该阶梯的台阶是:',x)
else:
print('该题目无解')
为啥我把“i”换成“x”就print不出来了
x = 7
i = 1
flag = 0
while x <= 200:
if (x % 2 == 1) and (x % 3 == 2 ) and (x % 5 == 4) and (x % 6 == 5) and (x % 7 == 0):
flag = 1
i += 1
else:
x = (i + 1) * 7
i += 1
if flag == 1:
print('该阶梯的台阶是:',x)
else:
print('该题目无解')
问题出在你将“i”换成了“x”,导致变量名混淆。在while循环中,程序需要用到变量“i”来控制循环次数,而你将其改成了“x”,导致循环次数无法控制,从而导致程序出错。因此,你需要将“i”改回来,即将代码修改为:
x = 7
i = 1
flag = 0
while i <= 200:
if (x % 2 == 1) and (x % 3 == 2 ) and (x % 5 == 4) and (x % 6 == 5) and (x % 7 == 0):
flag = 1
i += 1
else:
x = (i + 1) * 7
i += 1
if flag == 1:
print('该阶梯的台阶是:',x)
else:
print('该题目无解')
你发的两段代码不是一样吗 isdkz 发表于 2023-9-9 23:04
问题出在你将“i”换成了“x”,导致变量名混淆。在while循环中,程序需要用到变量“i”来控制循环次数,而 ...
明白了,if成立的那一方x一直没变,死循环了{:7_126:} 歌者文明清理员 发表于 2023-9-9 23:29
你发的两段代码不是一样吗
while那里不一样的
页:
[1]