我试图让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
:因此,第一次有效的名称永远不会被存储。另外,请注意,在请求新的
user
和pas
值之后,它们被存储,而不检查新的user
是否已经在data
中。以下代码修复了这两个问题:在修订后的代码中,使用了一个
while
循环,该循环将不断请求一个新用户名,直到给出一个不在data
中的用户名为止。只有在验证user
不在`data中之后,才会存储新值。你知道吗相关问题 更多 >
编程相关推荐