实验7

class User:
    def __init__(self, name='guest', password=111111, status=1):
        self.name = name
        self.password = password
        self.status = status

    def info(self):
        if self.status == 1:
            self.status = '账号状态正常'
        elif self.status == 0:
            self.status = '账号处于封禁状态'

        print('账户信息: 用户名, 密码, 账号状态')
        print(f'{self.name}, {self.password}, {self.status}')

    def modify_password(self):
        i = 0
        while i < 3:
            x = input('输入旧密码: ')
            if eval(x) == self.password:
                y = eval(input('输入新密码: '))
                print('密码修改成功')
                self.password = y
                break
            else:
                i += 1
        else:
            print('账户已锁,请稍后再试')
            self.status = 0

class Admin(User):
    def __init__(self, name='admin', password=999999, status=1):
        super().__init__(name, password, status)

    def info(self):
        print("管理者账户")
        super().info()

    def reset_password(self,user):
        user.modify_password()

    def ban_user(self,user):
        user.status = 0
    def unblock_user(self,user):
        user.status = 1

if __name__ == "__main__":
    u1 = User()
    u1.info()

    admin1 = Admin()
    admin1.info()

    admin1.ban_user(u1)
    u1.info()
    admin1.unblock_user(u1)
    u1.info()
    admin1.reset_password(u1)

from user import User as User1, Admin as Admin1

u1 = User1()
u1.info()
u1.modify_password()
u1.info()

a1 = Admin1()
a1.reset_password(u1)
u1.info()
a1.ban_user(u1)
u1.info()
a1.unblock_user(u1)
u1.info(

 

posted @ 2022-06-05 19:34  Scavengercjw  阅读(9)  评论(2编辑  收藏  举报