簡體   English   中英

Python:如何重復一個虛假的while循環?

[英]Python: How do I repeat a false while loop?

我不能讓它實際上重復while循環。 我試過讓它注冊一個真實值,或者使其繼續或跳出循環。 但是什么都行不通。

xvalue = int(input("Enter a test value to test if it works: "))

while xvalue >= Limit:
    print("\a\a\a")
else:
    continue
    xvalue = int(input("Updating Value: "))

有人可以建議嗎?

我也寫了它,說:

else:
     return True 

但這是行不通的。 (我得到一個錯誤)我只需要它繼續重復while循環,直到在第一個條件下它變為true為止。 然后響起。

我不完全遵循您代碼的意圖。 我認為您需要遵循以下幾點:

while True:
   xvalue = int(input("Enter a value: "))
   if xvalue < Limit:
      break
   print("\a\a\a")

您的代碼有很多問題,但是這里有一些大問題。

首先, while...elseelse while...else並不代表您認為的那樣。 它不像if...else while...else ,在else塊被執行,如果你while聲明變成False -注:如果你包括break圈外的或有錯誤。 在您的代碼中,當xvalue < Limit時將執行else塊,因為那與while布爾表達式相反。

其次,由於else塊是循環之后執行的,因此在其中continue沒有任何意義,因為不再有任何循環可以迭代。 不僅如此,即使一個循環持續,事實上,你堅持continue之前xvalue = int(input...意味着用戶得到一個機會,把在更新前值循環將重新啟動。您需要在重新分配 continue執行,到那時,根本沒有必要continue

因此,基本上,您正在尋找的是:

xvalue = int(input("Enter a test value to see if it works: "))

while xvalue >= Limit:
    print ("\a\a\a")
    xvalue = int(input("Please try another value: "))

在OP評論后更新:

xvalue = int(input("Enter a test value to see if it works: "))

while xvalue < Limit:                                     # Repeats until user gives a value above limit
    xvalue = int(input("Please try another value: "))
else:
    while True:                                           # Causes bell to ring infinitely
        print ("\a\a\a")

有人可以建議我寫的東西寫成這樣嗎:否則:返回True,但這不起作用。 我只需要它繼續重復while循環,直到在第一個條件下變為true為止。 然后響起。

您可以執行以下操作:

Value = False

while Value == False:
    #code to do while looping

#code to do after looping

要么:

Value = False

While 1:
   #code for inside the loop
   if Value == True
       break

此外,您的問題描述得不夠充分,如果我聽不懂,請不要怪我

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM