Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python字典用户名和密码_Python_If Statement_User Interface_Passwords - Fatal编程技术网

Python字典用户名和密码

Python字典用户名和密码,python,if-statement,user-interface,passwords,Python,If Statement,User Interface,Passwords,我的代码按我希望的方式工作。我只想补充一点,但我不知道怎么做,那就是当用户输入错误的密码时,他应该只得到五次尝试输入密码的机会,然后程序应该告诉他们他们被系统踢出。有什么帮助吗 这是我的密码: def main(): username_password = {"Maria":"hola", "Victoria":"bye"} log

我的代码按我希望的方式工作。我只想补充一点,但我不知道怎么做,那就是当用户输入错误的密码时,他应该只得到五次尝试输入密码的机会,然后程序应该告诉他们他们被系统踢出。有什么帮助吗

这是我的密码:

    def main():
       username_password = {"Maria":"hola",
                        "Victoria":"bye"} 
       login_username = str(input("Please enter your username.\n")) 
       login_password = str(input("Please enter your password.\n"))  
       login_username, login_password = login_username.strip(), login_password.strip() 
      if login_username in username_password and login_password == 
    username_password[login_username]: 
           print("Logged in")  
       else: 
          print("incorrect username / password, please try again")
    
    
main()

你只需要一段时间或循环。如果他们得到了正确的用户名和密码,这将打破循环。如果错误,它将继续并询问他们用户名和密码,同时打印错误声明。请尝试以下操作:

def main():
    tries = 0
    username_password = {"Maria":"hola",
                    "Victoria":"bye"} 
    while tries < 5:
        login_username = str(input("Please enter your username.\n")) 
        login_password = str(input("Please enter your password.\n"))  
        login_username, login_password = login_username.strip(), login_password.strip() 
        if login_username in username_password and login_password == username_password[login_username]: 
           print("Logged in")
           break
        else: 
          print("incorrect username / password, please try again")
          tries += 1
    
def main():
尝试=0
用户名\密码={“Maria”:“hola”,
“维多利亚”:“再见”}
当尝试<5时:
login\u username=str(输入(“请输入您的用户名。\n”))
login\u password=str(输入(“请输入您的密码”。\n”))
login\u username,login\u password=login\u username.strip(),login\u password.strip()
如果用户名密码中的登录用户名和登录密码==用户名密码[登录用户名]:
打印(“登录”)
打破
其他:
打印(“用户名/密码不正确,请重试”)
尝试次数+=1

老实说,这件事并不难,只要做一个这样的for循环就行了

def main():
   username_password = {"Maria":"hola","Victoria":"bye"}
   for x in range(5):
   login_username = input("Please enter your username.\n")
   login_password = input("Please enter your password.\n") 
   login_username, login_password = login_username.strip(), login_password.strip() 
  if login_username in username_password and login_password == 
username_password[login_username]: 
       print("Logged in")  
   else: 
      print("incorrect username / password, please try again")
      # you can write here print('try again)


main()
要告诉你一些事情,第一个值是一个键,所以如果你在(字典名称)中做了if,它将在键之间搜索,而不是在值之间搜索,如果你希望它在值之间搜索,请编写dictionary.values()
login\u username=input(“请输入您的用户名。\n”)

谢谢!很好的建议,谢谢!帮了大忙。