ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实验7

2022-06-05 20:31:18  阅读:147  来源: 互联网

标签:status info self u1 实验 user password


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()

 

 

 

 

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)

标签:status,info,self,u1,实验,user,password
来源: https://www.cnblogs.com/rayraybaby/p/16344814.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有