[英]How do I get my while loop to return to the beginning of the function?
我正在 repl.it 中制作基于选择的游戏,并允许玩家选择他们乌龟的颜色。 理想情况下,我的 function 向他们询问颜色,并检查它是否正确。 如果他们选择的颜色不匹配,它会给出一条错误消息,并且应该返回到 function 的开头再次询问他们。 当我输入错误的颜色时它会起作用,但是当我输入一个有效的答案时,我会陷入“无效颜色选择”的永无止境的循环。 我试过只使用 if 语句、返回和登陆 while 循环,我一直在努力让它工作。 我是编码新手。 任何帮助将不胜感激,谢谢!
def rajColorPick():
NotSelected = True;
rajColor = str(input("What color would you like raj to be?"));
colors = ["purple", "pink", "red", "blue", "green"];
while NotSelected == True:
if rajColor == colors:
NotSelected = False;
tortuga.color(rajColor);
elif rajColor != colors:
print("Invalid color selection. Try again");
rajColorPick();
rajColorPick();
使用in
运算符查看用户输入是否在 colors 列表中,一旦输入有效就return
:
def rajColorPick():
while True:
rajColor = str(input("What color would you like raj to be?"))
if rajColor in ["purple", "pink", "red", "blue", "green"]:
tortuga.color(rajColor)
return
print("Invalid color selection. Try again")
rajColorPick()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.