繁体   English   中英

Python 3无法循环中断

[英]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)

不确定您要在此程序中做什么,但我认为您犯了以下错误:

  1. 您忘了缩进第3至10行
  2. 根据您的第一个陈述,i == 10025将打破您的第一个循环。 这意味着我将在您的第二个循环中从10025开始,并以正数递增,这意味着它永远不会等于10000,因此永远不会超出您的第二个循环。

解决方法如下:

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

打印(i)

我再次检查了您的代码,因为如果以正确的方式进行操作而无需重置,则始终可以修复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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM