python使用文件处理加函数的方式写ATM简易操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python使用文件处理加函数的方式写ATM简易操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4501字,纯文字阅读大概需要7分钟。
内容图文
![python使用文件处理加函数的方式写ATM简易操作](/upload/InfoBanner/zyjiaocheng/632/911da7684d37490cb6504d06372ac8fd.jpg)
1 import os 2 3 4 # 充值功能 5 def pay_money(): 6 name_inp = input("请输入要充值的账号:").strip() 7 # 调用查询功能查询输入的用户是否存在,若存在将返回账户的余额 8 res = pay_check(name_inp) 9 res1 = int(res) 10 # print(res) 11 while 1: 12 money_inp = input("请输入充值金额:").strip() 13 # 判断输入的金额是否是数字,不是则重新输入 14 if not money_inp.isdigit(): 15 print("请输入的必须是数字".center(50,"*")) 16 continue 17 money_inp = int(money_inp) 18 19 res1 += money_inp 20 # dic[name_inp] += money_inp 21 print("充值成功".center(50,"*")) 22 # 打开文件,将文件内容读取到内存中。若数据大,则推荐使用os模块 23 # 将新的数据写入copy文件然后重命名 24 with open("db.txt", "r", encoding="utf8") as f: 25 dic = {} 26 for line in f: 27 user, money = line.strip().split(":") 28 dic[user] = int(money) 29 if name_inp in dic: 30 dic[name_inp] = res1 31 else: 32 return 33 with open("db.txt", "w", encoding="utf8") as w: 34 for user, money in dic.items(): 35 w.write("%s:%s\n" % (user, money)) 36 break 37 38 # 转账功能 39 def transfer(): 40 A_name = input("请输入要转账的账户:").strip() 41 res_A = pay_check(A_name) 42 if res_A < 0: 43 return 44 B_name = input("请输入要接收的账户:").strip() 45 res_B = pay_check(B_name) 46 if res_B < 0: 47 return 48 49 money = int(input("请输入要转账的金额:").strip()) 50 res_A1 = int(res_A) 51 res_B1 = int(res_B) 52 53 if res_A1 > money: 54 res_B1 +=money 55 res_A1 -=money 56 print(res_A1,res_B1) 57 print("转账成功".center(50,"*")) 58 59 with open("db.txt", "r", encoding="utf8") as f: 60 dic = {} 61 for line in f: 62 user, money = line.strip().split(":") 63 dic[user] = int(money) 64 dic[A_name] = res_A1 65 dic[B_name] = res_B1 66 with open("db.txt", "w", encoding="utf8") as w: 67 for user, money in dic.items(): 68 w.write("%s:%s\n" % (user, money)) 69 70 # 取现功能 71 def pay_cash(): 72 A_name = input("请输入要提现的账户:").strip() 73 res_A = pay_check(A_name) 74 if res_A < 0: 75 return 76 77 while 1: 78 money = input("请输入要提现的金额:").strip() 79 if not money.isdigit(): 80 print("输入的金额必须是数字".center(50,"*")) 81 money = int(money) 82 83 if money > res_A: 84 print("提现金额不足...".center(50,"*")) 85 else: 86 res_A -=money 87 print("取现成功".center(50,"*")) 88 89 with open("db.txt", "r", encoding="utf8") as f: 90 dic = {} 91 for line in f: 92 user, money = line.strip().split(":") 93 dic[user] = int(money) 94 # if A_name in dic: 95 dic[A_name] = res_A 96 with open("db.txt", "w", encoding="utf8") as w: 97 for user, money in dic.items(): 98 w.write("%s:%s\n" % (user, money)) 99 break 100 101 # 查询功能 102 def pay_check(name): 103 dic = {} 104 with open("db.txt", "r", encoding="utf8") as f: 105 for line in f: 106 user, money = line.strip().split(":") 107 dic[user] = int(money) 108 109 if name not in dic: 110 print("用户不存在") 111 choice = input("是否需要注册账户(Y/N):").strip() 112 if choice.upper() == "Y": 113 pay_register() 114 else: 115 print("结束本次操作".center(50,"*")) 116 return -1 117 else: 118 print("账户【%s】的余额【%s】" % (name, dic[name])) 119 return dic[name] 120 121 122 # 注册功能 123 def pay_register(): 124 username = input("请输入你要注册的账户:").strip() 125 while 1: 126 money_inp = input("请输入你要充值的金额:").strip() 127 if not money_inp.isdigit(): 128 print("请输入数字!".center(50,"*")) 129 continue 130 else: 131 print("充值成功!".center(50,"*")) 132 money_inp = int(money_inp) 133 134 135 with open("db.txt","a",encoding="utf8") as f: 136 f.write("%s:%s\n"%(username,money_inp)) 137 return 138 139 140 if __name__ == "__main__": 141 # transfer() 142 # pay_money() 143 # pay_check("alex2") 144 # pay_cash()
内容总结
以上是互联网集市为您收集整理的python使用文件处理加函数的方式写ATM简易操作全部内容,希望文章能够帮你解决python使用文件处理加函数的方式写ATM简易操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。