电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python ATM功能實(shí)現(xiàn)代碼實(shí)例

瀏覽:19日期:2022-08-01 18:48:07

編寫ATM程序?qū)崿F(xiàn)下述功能,數(shù)據(jù)來源于文件db.txt

1、充值功能:用戶輸入充值錢數(shù),db.txt中該賬號錢數(shù)完成修改

2、轉(zhuǎn)賬功能:用戶A向用戶B轉(zhuǎn)賬1000元,db.txt中完成用戶A賬號減錢,用戶B賬號加錢

3、提現(xiàn)功能:用戶輸入提現(xiàn)金額,db.txt中該賬號錢數(shù)減少

4、查詢余額功能:輸入賬號查詢余額

登錄功能

用戶登錄成功后,內(nèi)存中記錄下該狀態(tài),上述功能以當(dāng)前登錄狀態(tài)為準(zhǔn),必須先登錄才能操作

代碼如下

import osuser_staus = {’username’: None}def ad_credit(username, amount): ''' 充值功能 :param username: :param amount: :return: ''' if user_staus[’username’] is None: login() with open(’db.txt’, ’rt’, encoding=’utf-8’)as f1, open(’db.txt.swap’, ’wt’, encoding=’utf-8’)as f2: while True: cont = f1.readline() if len(cont) == 0:break name, remain = cont.strip().split(’:’) if username in name:remain = int(remain) + int(amount)f2.write(’{}:{}n’.format(name, remain))print(’充值成功,{}的余額為{}’.format(username, remain)) else:f2.write(cont) os.remove(’db.txt’) os.rename(’db.txt.swap’, ’db.txt’)def transfer(user_out, user_in, amount): ’’’3 轉(zhuǎn)賬功能 :param user_out: :param user_in: :param amount: :return: ’’’ if user_staus[’username’] is None: login() with open(’db.txt’, ’rt’, encoding=’utf-8’)as f1, open(’db.txt.swap’, ’wt’, encoding=’utf-8’)as f2: userinfo = {} for line in f1: name, remind = line.strip().split(’:’) userinfo[name] = int(remind) if user_out not in userinfo: print(’用戶不存在’) return if user_in not in userinfo: print(’收款方不存在’) return if user_out in userinfo and user_in in userinfo: if userinfo[user_out] >= int(amount):userinfo[user_out] -= int(amount)userinfo[user_in] += int(amount)print(’轉(zhuǎn)賬成功,已成功從{}向{}匯款{}’.format(user_out, user_in, amount)) elif userinfo[user_out] < amount:print(’余額不足’)return for name, remind in userinfo.items(): f2.write(’{}:{}n’.format(name, remind)) os.remove(’db.txt’) os.rename(’db.txt.swap’, ’db.txt’)def cashon(username, amount): ’’’ 提現(xiàn)功能 :param username: :param amount: :return: ’’’ if user_staus[’username’] is None: login() with open(’db.txt’, ’rt’, encoding=’utf-8’)as f1, open(’db.txt.swap’, ’wt’, encoding=’utf-8’)as f2: userinfo = {} for line in f1: name, remind = line.strip().split(’:’) userinfo[name] = int(remind) if username not in userinfo: print(’用戶不存在’) return if username in userinfo and userinfo[username] >= int(amount): userinfo[username] -= int(amount) print(’已從余額中取出{},現(xiàn)余額為{}’.format(amount, userinfo[username])) elif userinfo[username] < amount: print(’余額不足,提現(xiàn)失敗’) return for name, remind in userinfo.items(): f2.write(’{}:{}n’.format(name, remind)) os.remove(’db.txt’) os.rename(’db.txt.swap’, ’db.txt’)def check(username): ’’’ 余額查詢功能 :param username: :return: ’’’ if user_staus[’username’] is None: login() with open(’db.txt’, ’rt’, encoding=’utf-8’)as f: userinfo = {} for line in f: name, remind = line.strip().split(’:’) userinfo[name] = remind if username not in userinfo: print(’用戶不存在’) return if username in userinfo: print(’當(dāng)前余額為:{}’.format(userinfo[username]))def login(): username = input(’輸入用戶名’) userpassword = input(’輸入密碼’) with open(’login.txt’, ’rt’, encoding=’utf-8’)as login_f: login = {} for line in login_f: name, psd = line.strip().split(’:’) login[name] = psd if username in login:if login[username] == userpassword: print(’登陸成功’) user_staus[’username’] = username break elif username not in login:print(’用戶名不存在’)returndef logout(): user_staus[’username’] = None print(’已成功登出’) returnlogin()tag = Truewhile tag: cmd = input(’’’ 請輸入你想使用的功能序號 1:充值 2:轉(zhuǎn)賬 3:提現(xiàn) 4:查詢余額 0:登出 ’’’) if cmd == ’1’: username = input(’輸入用戶名:’) amount = input(’輸入充值金額:’) ad_credit(username, amount) elif cmd == ’2’: user_out = input(’請輸入轉(zhuǎn)賬方:’) user_in = input(’請輸入接收方:’) amount = input(’輸入轉(zhuǎn)賬金額:’) transfer(user_out, user_in, amount) elif cmd == ’3’: username = input(’輸入用戶名:’) amount = input(’輸入提現(xiàn)金額’) cashon(username, amount) elif cmd == ’4’: username = input(’輸入用戶名:’) check(username) elif cmd == ’0’: logout() tag = False else: print(’請正確輸入序號’)

以下是模擬結(jié)果

’’’/Users/chenfeng/PycharmProjects/ATM/venv/bin/python /Users/chenfeng/PycharmProjects/ATM/main.py輸入用戶名xilou輸入密碼666登陸成功

請輸入你想使用的功能序號1:充值2:轉(zhuǎn)賬3:提現(xiàn)4:查詢余額0:登出1輸入用戶名:xilou輸入充值金額:200充值成功,xilou的余額為700

請輸入你想使用的功能序號1:充值2:轉(zhuǎn)賬3:提現(xiàn)4:查詢余額0:登出2請輸入轉(zhuǎn)賬方:xilou請輸入接收方:heiren輸入轉(zhuǎn)賬金額:200轉(zhuǎn)賬成功,已成功從xilou向heiren匯款200

請輸入你想使用的功能序號1:充值2:轉(zhuǎn)賬3:提現(xiàn)4:查詢余額0:登出3輸入用戶名:xilou輸入提現(xiàn)金額100已從余額中取出100,現(xiàn)余額為400

請輸入你想使用的功能序號1:充值2:轉(zhuǎn)賬3:提現(xiàn)4:查詢余額0:登出4輸入用戶名:xilou當(dāng)前余額為:400

請輸入你想使用的功能序號1:充值2:轉(zhuǎn)賬3:提現(xiàn)4:查詢余額0:登出0已成功登出

Process finished with exit code 0

’’’以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 脉冲除尘器,除尘器厂家-淄博机械 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 吲哚菁绿衍生物-酶底物法大肠菌群检测试剂-北京和信同通科技发展有限公司 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 双齿辊破碎机-大型狼牙破碎机视频-对辊破碎机价格/型号图片-金联机械设备生产厂家 | 成都思迪机电技术研究所-四川成都思迪编码器| 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 培训无忧网-教育培训咨询招生第三方平台 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 |