Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.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 我如何将这些值存储到这个dict中,以便在下一次迭代中工作?_Python - Fatal编程技术网

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
  • 它将提高代码的可读性。这对每个人都有帮助:你自己和其他将阅读你的代码的人
代码更改:

  • 删除
    iass.copy()
    调用。这是不必要的;虽然没有产生bug
  • 要使代码“工作”,您需要使用键和值初始化IAS:
  • 删除
    else:
    块。这会导致一个额外的提示,这只会让人困惑,并被认为是一个bug

现在,当用户输入用户名、密码“叮”和“咚”时,您的支票将“通过”。

请在代码上运行pylint

  • 在运行之前,它会为您发现bug
  • 它将提高代码的可读性。这对每个人都有帮助:你自己和其他将阅读你的代码的人
代码更改:

  • 删除
    iass.copy()
    调用。这是不必要的;虽然没有产生bug
  • 要使代码“工作”,您需要使用键和值初始化IAS:
  • 删除
    else:
    块。这会导致一个额外的提示,这只会让人困惑,并被认为是一个bug

现在,当用户输入用户名、密码“叮”和“咚”时,您的支票将“通过”。

这是否回答了您的问题?这回答了你的问题吗?