ICode9

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

实验七

2022-06-06 22:00:14  阅读:115  来源: 互联网

标签:status __ self 实验 user password def


class User:
    def __init__(self,name='guest',password=111111,status=1):
        self.name=name
        self.password=password
        self.status=status
    def info(self):
        print('账户信息:用户名,密码,账号状态')
        if self.status==1:
            print(f'{self.name},{self.password},账号状态正常')
        elif self.status==0:
            print(f'{self.name},{self.password},账号状态封禁')
    def modify_password(self,count=1):
        while count<=3:
            old_password=eval(input('请先输入旧密码:'))
            if old_password==self.password:
                new_password=eval(input('请输入新密码:'))
                self.password=new_password
                print('密码修改成功')
                break
            else:
                count+=1
                if count==4:
                    print('账户已锁,请稍后再试')
                continue
class Admin(User):
    def __init__(self,name='admin',password=999999,stasus=1):
        super().__init__(name,password,stasus)
    def info(self):
        if self.status == 1:
            print(f'{self.name},{self.password},正常账号')
        elif self.status == 0:
            print(f'{self.name},{self.password},封禁账号')
    def reset_password(self,User):
        self.password=111111
    def ban_user(self,User):
        self.status=0
    def unblock_user(self,User):
        self.status=1
#测试
def main():
    a1=User('John',123456)
    a1.info()
    a1.modify_password()
    a1.info()
    a2=Admin('Bob',123456)
    a2.info()
    a2.reset_password(a1)
    a2.ban_user(a1)
    a2.unblock_user(a1)
    a2.info()
if __name__=='__main__':
    main()

 

 

 

 

class User():
    count = 0
    def __init__(self, username='username', password='111', status='1'):
        self.username = username
        self.password = password
        self.status = status
        User.count += 1

    def __del__(self):
        User.count -= 1

    def info(self):
        if self.status == '1':
            print(f"{self.username}, {self.password}, 账户正常")
        else:
            print(f"{self.username}, {self.password}, 账户被封禁")
    def modify_password(self):
        for i in range(3):
            old_password = input("旧密码: ")
            if old_password == self.password:
                self.password = input("新密码: ")
                print("密码修改成功!")
                break
            elif i == 2:
                print("账户已锁, 请稍后再试...")
                self.status = '0'
            elif old_password != self.password:
                continue

    def show_count():
        print(f"用户总数: {User.count}")


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

    def info(self):
        print("管理员账户: ")
        super().info()
    def reset_password(self, user):
        user.password = input("请输入你要修改的密码: ")

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

    def unlock_user(self, user_name):
        user_name.status = '1'


u1=User('账户1','0000','1')
u1.info()
u1.modify_password()
u1.info()

admin1=Admin('管理员1','9999','1')
admin1.info()
User.show_count()

admin1.reset_password(u1)
admin1.ban_user(u1)
u1.info()
admin1.unlock_user(u1)
u1.info()
User.show_count()

 

标签:status,__,self,实验,user,password,def
来源: https://www.cnblogs.com/AkieUp07/p/16349881.html

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

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

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

ICode9版权所有