[英]Python 3 unable to loop break
我是编码的新手,有一个简单的问题,我不知道如何解决。 我只是在玩我目前在Python中学到的东西。 第二个代码“ print(“ Breaking!”)and break中的循环不会中断while循环i + = 1。如何解决此问题?
i=0
while True:
i+=1
if i==10000:
print("SKIP 10000")
continue
if i==10025:
print("FINISH")
break
print(i)
b="cyka\n"
a=int(input("#"))
if a>=10000:
print(b*a)
elif a<=10000:
while True:
i+=1
if i==10000:
print("Breaking!")
break
print(i)
不确定您要在此程序中做什么,但我认为您犯了以下错误:
解决方法如下:
i=0
while True:
i+=1
if i==10000:
print("SKIP 10000")
continue
if i==10025:
print("FINISH")
break
print(i)
b="cyka\n"
a=int(input("#"))
i=0 #reset i here
if a>=10000:
print(b*a)
elif a<=10000:
while True:
i+=1
#if i>=10000: <-- more stable alternative
if i==10000:
print("Breaking!")
break
print(i)
由于确实没有复位,并且该值与上一个中断相同,因此如果您这样做,则将创建无限循环:
i=0
while True:
i+=1
if i==10000:
print("SKIP 10000")
continue
elif i==10025:
print("FINISH")
break
print(i)
b="cyka\n"
a=int(input("#"))
if a>=10000:
print(b*a)
elif a<=10000:
while True:
i+=1
if i==10000: # you need to change this value if you dont want infinite loop.
print("Breaking!")
break
我再次检查了您的代码,因为如果以正确的方式进行操作而无需重置,则始终可以修复while true循环。 这应该给您预期的结果:
i=0
while True:
i+=1
if i==10000:
print("SKIP 10000")
continue
elif i==10025:
print("FINISH")
break
print(i)
while True: # put while true here will fix your problem without reset.
i=10000
b="cyka\n"
a=int(input("#"))
if a>=10000:
print(b*a)
elif a<=10000:
#while True: delete this line
i+=1
if i==10000:
print("Breaking!")
break
print(i)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.