ICode9

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

实验七

2022-06-06 01:06:07  阅读:140  来源: 互联网

标签:info status name self u1 实验 password


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

        def info(self):
            if self.status==1:
                print(f'{self.name},{self.password},账户正常')
            elif self.status==0:
                print(f'{self.name},{self.password},账户异常')

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

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

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


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

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

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

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

if __name__ == "__main__":
    u1 = User()
    u1.info()
    admin1 = Admin()
    admin1.info()
    User.show_count()
    admin1.ban_user(u1)
    u1.info()
    admin1.unblock_user(u1)
    u1.info()
    admin1.reset_password(u1)
    del u1
    User.show_count()

 

 

from user import User,Admin

u1 = User()
u1.info()
u1.modify_password()
u1.info()

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

 

标签:info,status,name,self,u1,实验,password
来源: https://www.cnblogs.com/dyh222/p/16334934.html

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

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

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

ICode9版权所有