gpt4 book ai didi

python - 我怎样才能让我的函数遍历字典并检查用户输入时 key 是否存在

转载 作者:行者123 更新时间:2023-12-01 05:05:00 25 4
gpt4 key购买 nike

我试图让 def create() 遍历全局变量 data{} 并在用户输入用户名和密码时检查用户名是否存在。我无法做到这一点,因为首先它是一个空字典,然后我不确定如何多次询问用户名和密码并仍然继续检查字典。如果用户名与字典中的用户名相似,那么我希望该人使用新的用户名和密码重试。

data = {}
def store(stor, username, password):
stor[username] = password


def create():
for i in range(2):
user = input("Username: ")
pas = input("Password: ")
for key in data:
if user == key:
print("Try Again")
user = input("Username: ")
pas = input("Password: ")
store(data,user, pas)
print (data)

create()

最佳答案

在您的原始代码中,请注意仅当 user == key 时才调用 store:

        if user == key:
print("Try Again")
user = input("Username: ")
pas = input("Password: ")
store(data,user, pas)

因此,第一次有效的名称永远不会被存储。另请注意,在请求新的 userpas 值后,它们将被存储,不会检查新的 user > 是否已在 data 中。这两个问题都在以下代码中得到解决:

data = {}
def store(stor, username, password):
stor[username] = password

def create():
for i in range(2):
user = input("Username: ")
pas = input("Password: ")
while user in data:
print("Try Again")
user = input("Username: ")
pas = input("Password: ")
store(data,user, pas)
print (data)

create()

在修订后的代码中,使用了 while 循环,该循环将不断请求新的用户名,直到给出的用户名不在 data 中。仅在验证 user 不在“data”中后才会存储新值。

关于python - 我怎样才能让我的函数遍历字典并检查用户输入时 key 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25214705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com