Python 我如何将这些值存储到这个dict中,以便在下一次迭代中工作?
我不确定如何存储从用户输入中获取的值(以生成新的用户名和密码)并将其存储在Python 我如何将这些值存储到这个dict中,以便在下一次迭代中工作?,python,Python,我不确定如何存储从用户输入中获取的值(以生成新的用户名和密码)并将其存储在iassdict中,因此在下一次迭代中它将起作用: iass = {} class login: def __init__(self): pass def passcheck(self): for key, value in iass.copy().items(): if self.username == key and self.password == value:
iass
dict中,因此在下一次迭代中它将起作用:
iass = {}
class login:
def __init__(self):
pass
def passcheck(self):
for key, value in iass.copy().items():
if self.username == key and self.password == value:
print("Granted Access")
else:
A = str(input("Enter Desired Name: "))
B = str(input("Enter Desired Password: "))
iass[A] = B
A1 = login()
A1.username = str(input("Enter Username: "))
A1.password = str(input("Password: "))
A1.passcheck()
您对类/对象的使用有点奇怪。通常,人们会为在现实世界中表示对象(名词)的对象创建一个类。在您的应用程序中,这可能是用户 Login将是该类中的一个方法 您的方法passcheck的构造也有点奇怪。因为您刚刚要求输入用户名和密码,所以可以随时重复使用它们。你不必再问他们了。我建议您在登录方法中将用户名和密码作为参数传递,而不是直接将它们设置为参数。您的代码可能看起来有点像这样
iass = []
iass.append({'myuser': 'mypwd'})
class User:
def __init__(self):
pass
def login(self, username, password):
for key, value in iass.items():
if username == key and password == value:
print("Granted Access")
return
# User not found, so we're adding him
iass.append({username: password})
A1 = User()
username = str(input("Enter Username: "))
password = str(input("Password: "))
A1.login(username, password)
注意:没有在python解析器中运行这个。可能有一些问题:-)您对类/对象的使用有点奇怪。通常,人们会为在现实世界中表示对象(名词)的对象创建一个类。在您的应用程序中,这可能是用户 Login将是该类中的一个方法 您的方法passcheck的构造也有点奇怪。因为您刚刚要求输入用户名和密码,所以可以随时重复使用它们。你不必再问他们了。我建议您在登录方法中将用户名和密码作为参数传递,而不是直接将它们设置为参数。您的代码可能看起来有点像这样
iass = []
iass.append({'myuser': 'mypwd'})
class User:
def __init__(self):
pass
def login(self, username, password):
for key, value in iass.items():
if username == key and password == value:
print("Granted Access")
return
# User not found, so we're adding him
iass.append({username: password})
A1 = User()
username = str(input("Enter Username: "))
password = str(input("Password: "))
A1.login(username, password)
注意:没有在python解析器中运行这个。可能有一些问题:-)请在代码上运行pylint
- 在运行之前,它会为您发现bug
- 它将提高代码的可读性。这对每个人都有帮助:你自己和其他将阅读你的代码的人
- 删除
调用。这是不必要的;虽然没有产生bugiass.copy()
- 要使代码“工作”,您需要使用键和值初始化IAS:
- 删除
块。这会导致一个额外的提示,这只会让人困惑,并被认为是一个bugelse:
现在,当用户输入用户名、密码“叮”和“咚”时,您的支票将“通过”。请在代码上运行pylint
- 在运行之前,它会为您发现bug
- 它将提高代码的可读性。这对每个人都有帮助:你自己和其他将阅读你的代码的人
- 删除
调用。这是不必要的;虽然没有产生bugiass.copy()
- 要使代码“工作”,您需要使用键和值初始化IAS:
- 删除
块。这会导致一个额外的提示,这只会让人困惑,并被认为是一个bugelse:
现在,当用户输入用户名、密码“叮”和“咚”时,您的支票将“通过”。这是否回答了您的问题?这回答了你的问题吗?