我想做的事:
我正在尝试定义一个接受输入(名称为字符串)并检查名称是否在集合列表中的定义。
如果是,程序将继续。如果不是,它将为用户提供 2 次正确输入其姓名的机会。
要求:
我需要在定义之后使用名称变量。如果名称错误 3 次,我需要系统退出。
问题:
如果名称正确,则可以正常工作。但是,如果名称错误,则不允许输入其他名称,打印“您还有 2 次尝试”和“您还有 1 次尝试”然后结束循环并退出。
代码:
names_allowed_to_play = ["MUM","DAD"]
def val_1 (name_1):
print("Player 1, you have 3 tries to enter the correct name")
print("")
a = 0
while a < 3:
name_1 = name_1.upper()
if name_1 in names_allowed_to_play:
print(name_1 + ", you are authorised to play, have fun!")
print("")
a = a + 4
names_allowed_to_play.remove(name_1)
elif name_1 not in names_allowed_to_play:
a = a + 1
if name_1 not in names_allowed_to_play and a ==1:
print("You have 2 more tries")
print("")
print("")
elif name_1 not in names_allowed_to_play and a ==2:
print("You have 1 more try")
print("")
print("")
if a == 3:
print("")
print("Sorry Player 2, " + name_1 + " ruined it! " + name_1 + ", you are NOT AUTHORISED!")
sys.exit()
#Run definition
name_1 = input("Player 1, please enter your name to play: ")
val_1(name_1)