定义一个账户类,可以创建账户、存款、取款 、查询余额、以及销户等操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| 定义一个账户类,可以创建账户、存款、取款 、查询余额、以及销户等操作 类 类名: Bank() 属性: 姓名、密码、钱 方法: 创建账户: 输入姓名 输入密码 确认密码 用户存在: 提示,并重新创建一个 密码不一致: 提示,重来 否则: 成功,将用户信息添加到字典里面 存款 输入姓名 输入密码 用户不存在: 提示,重来 密码不正确: 提示,重来 否则: 输入存款金额 现在的钱 = 原来的钱 + 存钱 取款 输入姓名 输入密码 用户不存在: 提示,重来 密码不正确: 提示,重来 否则: 输入取款金额 取款 > 原来的钱: 提示余额不足 取款的钱 <= 余额 现在的钱 = 原来的钱 - 取的钱 查询余额: 输入姓名 输入密码 用户不存在: 提示,重来 密码不正确: 提示,重来 否则: 根据姓名打印对应的键值对 以及销户 对象=类名()
思考:如何获取用户所需的操作?---> input() 尽可能的吧代码放到类里面封装起来
|
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| class Bank():
def __init__(self,name=None, password=None, money=0): """ 当对象被创建的时候,init里面的代码会自动执行 :param name: :param password: :param money: 思考:如何保存用户信息--->字典 """ self.name = name self.password = password self.money = money self.user_dicts = {} print(self.user_dicts) self.choose()
def choose(self): while True: a = input(""" 1、创建账户 2、存款 3、取款 4、查询 5、销户 6、退出 请输入对应的数字,选择你想要的服务:""") if a == "1": self.create_user() elif a == "2": self.save() elif a == "3": self.get_money() elif a == "4": self.ask() elif a == "5": self.del_user() elif a == "6": break else: print("输入有误请重试")
def create_user(self): """ 输入名字 :return: """ self.name = input("请输入你的姓名:") self.passwd1 = input("请输入你的密码:") passwd2 = input("请再次输入确认你的密码:") if self.name in self.user_dicts: print("用户已存在,请重试") self.create_user() if self.passwd1 != passwd2: print("两次密码不一致,请重试!") self.create_user() else: user = {self.name:[self.passwd1, self.money]} self.user_dicts.update(user) print("用户创建成功") print(self.user_dicts)
def save(self): name = input("请输入你的姓名:") passwd = input("请输入你的密码:") if name not in self.user_dicts: print("用户不存在,请重试!") self.save() if self.user_dicts[name][0] != passwd: print("密码不正确,请重试") self.save() else: money = float(input("请输入要存的金额: ")) self.money = self.user_dicts[name][1] + money self.user_dicts.update({name:[passwd,self.money]}) print(self.user_dicts)
def get_money(self): name = input("请输入你的姓名:") passwd = input("请输入你的密码:") money = float(input("请输入要取的金额: ")) if name not in self.user_dicts: print("用户不存在,请重试!") self.get_money() elif self.user_dicts[name][0] != passwd: print("密码不正确,请重试") self.get_money() elif money > self.user_dicts[name][1]: print("抱歉,余额不足,请重试") self.get_money() else: self.money = self.user_dicts[name][1] - money self.user_dicts.update({name: [passwd, self.money]}) print(self.user_dicts)
def ask(self): name = input("请输入你的姓名:") passwd = input("请输入你的密码:") if name not in self.user_dicts: print("用户不存在,请重试!") self.ask() if self.user_dicts[name][0] != passwd: print("密码不正确,请重试") self.ask() else: money = self.user_dicts[name][1] print(f"您当前余额为{money}")
def del_user(self): name = input("请输入你的姓名:") passwd = input("请输入你的密码:") if name not in self.user_dicts: print("用户不存在,请重试!") self.del_user() if self.user_dicts[name][0] != passwd: print("密码不正确,请重试") self.del_user() else: del self.user_dicts[name] print(self.user_dicts)
if __name__ == '__main__': lm = Bank()
|
运行结果如下: