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