实验7 类和模块

task5

name源码

'''
数据:用户名,密码'''
class User:
    '''用户名密码输出,修改密码,重置密码,封禁解封账户'''
    def __init__(self,name = 'guest',password = 111111,status = '1'):
        self._name = name
        self._password = password
        self._status = status

    def info(self):
        print('用户名: 密码:')
        print(f'{self._name},{self._password}')

    def modify_password(self):
        i = 0
        while i < 3:

            a = int(input('输入旧密码:'))
            if a == self._password:
                b = int(input('输入新密码:'))
                self._password = b
                print('密码修改成功')
                break
            elif i == 2:
                self._status = '0'
                print('账户已锁,请稍后再试')
                break
            else:
                print('请重新输入')
                i += 1

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

    def reset_password(self):
        c = int(input('请输入重置的密码:'))
        self._password = c
        print('密码重置成功')

    def ban_user(self):
        if self._status == '1':
            self._status = '0'
            print('账号已被封禁')
        else:
            print('账户已被封禁')

    def unblock_user(self):
        if self._status == '0':
            self._status = '1'
            print('账户已解封')
        else:
            print('账户已解封')


#测试
def main():
    a1 = User('Bob',123456)
    a2 = Admin('Jack',654321)
    a1.info()
    a1.modify_password()
    a2.reset_password()
if __name__=='__main__':
    print('模块信息:',__doc__)
    print('User类信息:',User.__doc__)
    main()

运行结果

task.5源码

from name import User
from name import Admin

u1 = User('Bob',142536)
u2 = Admin('Sean')

u1.modify_password()
u1.info()

u2.reset_password()
u2.info()
u2.ban_user()
u2.unblock_user()

运行结果

 

posted on 2022-06-05 17:35  haze13327620097  阅读(19)  评论(2编辑  收藏  举报