繁体   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