簡體   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