在 3 次错误猜测时无法循环回到特定点并退出程序
Trouble looping back to certain point and quitting program on 3 wrong guesses
while True:
print('enter username: ')
username = input()
if username.lower() != 'joe':
print("imposter!")
continue
print(f'Hello {username.capitalize()}')
print('enter password: ')
password = input()
tries = 0
if password != 'Water':
tries += 1
continue
if tries == 3:
print("3 strikes, you're out")
quit()
else:
break
print("access granted")
正在尝试输入用户名和密码提示。我正在尝试对用户名条目进行无限次尝试,并且只有 3 次机会输入正确的密码。当您输入正确的用户名和密码时,一切正常。但是当输入不正确的密码时,它会循环回输入用户名,并且 'tries' 计数器不起作用。 python 新手尝试在 Python
中使用自动化来学习无聊的事情
您在循环中重置了 tries = 0
。
您可以尝试像下面这样重构您的代码:
import sys
access = False
while not access:
username = input('Enter username: ')
if username.lower() != 'joe':
print("imposter!")
continue
else:
print(f'Hello {username.capitalize()}')
for i in range(3):
password = input('Enter password: ')
if password == 'Water':
access = True
break
else:
print("3 strikes, you're out")
sys.exit()
print("Access granted")
while True:
print('enter username: ')
username = input()
if username.lower() != 'joe':
print("imposter!")
continue
print(f'Hello {username.capitalize()}')
print('enter password: ')
password = input()
tries = 0
if password != 'Water':
tries += 1
continue
if tries == 3:
print("3 strikes, you're out")
quit()
else:
break
print("access granted")
正在尝试输入用户名和密码提示。我正在尝试对用户名条目进行无限次尝试,并且只有 3 次机会输入正确的密码。当您输入正确的用户名和密码时,一切正常。但是当输入不正确的密码时,它会循环回输入用户名,并且 'tries' 计数器不起作用。 python 新手尝试在 Python
中使用自动化来学习无聊的事情您在循环中重置了 tries = 0
。
您可以尝试像下面这样重构您的代码:
import sys
access = False
while not access:
username = input('Enter username: ')
if username.lower() != 'joe':
print("imposter!")
continue
else:
print(f'Hello {username.capitalize()}')
for i in range(3):
password = input('Enter password: ')
if password == 'Water':
access = True
break
else:
print("3 strikes, you're out")
sys.exit()
print("Access granted")