在 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")