簡體   English   中英

While 循環中斷

[英]While Loop Break

我的 Python 代碼包含一個無限循環。 如何終止無限循環?

colour = input("Which colour do you prefer? Y-R: ")
while colour not in {"Y", "R"}:
    print("Please, you have to choose only Y - R.")
    colour = input("Which colour do you prefer? Y-R: ")
    while colour in {"Y", "R"}:
      if colour == "Y":
         print("First player: Y")
         print("Second player: R")
      else:
         print("First player: R")
         print("Second player: Y")

使用break

colour = input("Which colour do you prefer? Y-R: ")
while colour not in ["Y", "R"]:
    print("Please, you have to choose only Y - R.")
    colour = input("Which colour do you prefer? Y-R: ")
    if colour in ["Y", "R"]:
      if colour == "Y":
         print("First player: Y")
         print("Second player: R")
         break
      else:
         print("First player: R")
         print("Second player: Y")
         break

然而,這是一個更好的解決方案:

colour = input("Which colour do you prefer? Y-R: ")       
 
while colour not in ["Y", "R"]:
    print("Please, you have to choose only Y - R.")
    colour = input("Which colour do you prefer? Y-R: ")


if colour == "Y":
    print("First player: Y")
    print("Second player: R")
else:
    print("First player: R")
    print("Second player: Y")

你真的只需要一個循環。

while True:
    colour = input("Which colour do you prefer? Y-R: ")
    
    if colour in {"Y", "R"}:
        first, second = "YR" if colour == "Y" else "RY"
        break

    print("Please, you have to choose only Y - R.")

print(f"First player: {first}")
print(f"Second player: {second}")

暫無
暫無

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

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