输入班级中的密码列表

时间:2019-07-26 18:19:37

标签: python-3.x list class oop

我不确定如何编辑编写的程序来创建新密码以及在程序中存储旧密码和当前密码。程序中的方法需要有一个称为密​​码的列表,其中包含用户的所有先前密码和用户的当前密码。我向后映射了我的程序,现在正在努力正确地添加列表。它还需要我已经完成的以下方法: -get_password()返回用户当前的密码 -set_password(),用于将用户密码设置为新值 -set_password()方法仅应在新密码后更改密码。 指定的密码以前未使用过 -名为is_correct_password()的方法,该方法需要一个字符串并 如果提供的字符串与用户当前的密码匹配,则返回Boolean True;否则,返回Boolean

我还有另一个程序可以导入我编写的类,创建一个新的对象,设置一个新的密码并打印,但是打印错误。任何帮助表示赞赏。

我尝试在班级开头添加密码列表,但是在运行程序时遇到错误。删除列表时,程序将运行,但不会按预期返回密码true或false。

class PasswordManager(object):

    def __init__(self, username, password):
        self.username = username
        self.passwords = [password]

    def get_password(self):
        return self.passwords[-1]  # current password which is the last element of passwords list

    def set_password(self, password):
        if password in self.passwords:  # if password already used
            print("Please enter a password that has not been previously used")
        else:
            self.passwords.append(password)  # append password to list of passwords if not previously used
            print("Password Change Successful")

    def is_correct_password(self, password):
        if self.passwords[-1] == (password):  # Checking if entered password is same as current password
            return True
        else:
            return False

导入我的课程的第二个程序是:

from PasswordManager import PasswordManager

passw=PasswordManager('Hella','Holla')
currentpass1=passw.get_password()
passw.set_password(currentpass1)
passw.set_password('Heyya')
currentpass2=passw.get_password()
if not passw.is_correct_password(currentpass1):
    print('Not correct')
if passw.is_correct_password(currentpass2):
    print('Correct')

第一个程序的预期结果将是拥有一个当前密码,如果当前密码正确,则该密码将返回布尔值true或false。第二个程序将是对象的当前密码。

0 个答案:

没有答案