实验7
1 class User: 2 count=0 3 4 def __init__(self,name='guest',password='111111',status=1): 5 User.count+=1 6 self.name=name 7 self.password=password 8 self.status=statue 9 def info(self): 10 if self.status==1: 11 print(f'{self.name},{self.password},账户正常') 12 elif self.status==0: 13 print(f'{self.name},{self.password},账户异常') 14 15 def modify_password(self): 16 old=input('输入旧密码:') 17 if old==self.password: 18 new=input('输入新密码:') 19 self.password=new 20 print('新密码修改成功') 21 else: 22 i=0 23 while i<=3: 24 old=input('输入旧密码:') 25 if old == self.password: 26 new = input('输入新密码:') 27 self.password = new 28 print('新密码修改成功') 29 break 30 else: 31 i=i+1 32 if i==3: 33 print('账户已锁,请稍后再试') 34 self.status=0 35 36 @classmethod 37 def show_count(cls): 38 print(f"用户总数:{User.count}") 39 40 def __del__(self): 41 User.count -= 1 42 43 44 class Admin(User): 45 def __init__(self,name='admin',password='999999',status=1): 46 super().__init__(name,password,status) 47 48 def ban_user(self,user): 49 user.status=0 50 51 def unblock_user(self,user): 52 user.status=1 53 54 def reset_password(self,user): 55 user.modify_password() 56 57 if __name__ == "__main__": 58 u1 = User() 59 u1.info() 60 admin1 = Admin() 61 admin1.info() 62 User.show_count() 63 admin1.ban_user(u1) 64 u1.info() 65 admin1.unblock_user(u1) 66 u1.info() 67 admin1.reset_password(u1) 68 del u1 69 User.show_count()