国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python ATM功能實現代碼實例

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

編寫ATM程序實現下述功能,數據來源于文件db.txt

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

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

3、提現功能:用戶輸入提現金額,db.txt中該賬號錢數減少

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

登錄功能

用戶登錄成功后,內存中記錄下該狀態,上述功能以當前登錄狀態為準,必須先登錄才能操作

代碼如下

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 轉賬功能 :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(’轉賬成功,已成功從{}向{}匯款{}’.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): ’’’ 提現功能 :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(’已從余額中取出{},現余額為{}’.format(amount, userinfo[username])) elif userinfo[username] < 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 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(’當前余額為:{}’.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:轉賬 3:提現 4:查詢余額 0:登出 ’’’) if cmd == ’1’: username = input(’輸入用戶名:’) amount = input(’輸入充值金額:’) ad_credit(username, amount) elif cmd == ’2’: user_out = input(’請輸入轉賬方:’) user_in = input(’請輸入接收方:’) amount = input(’輸入轉賬金額:’) transfer(user_out, user_in, amount) elif cmd == ’3’: username = input(’輸入用戶名:’) amount = input(’輸入提現金額’) cashon(username, amount) elif cmd == ’4’: username = input(’輸入用戶名:’) check(username) elif cmd == ’0’: logout() tag = False else: print(’請正確輸入序號’)

以下是模擬結果

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

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

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

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

請輸入你想使用的功能序號1:充值2:轉賬3:提現4:查詢余額0:登出4輸入用戶名:xilou當前余額為:400

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

Process finished with exit code 0

’’’以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产日产欧产精品精品推荐小说 | 美女在线看永久免费网址 | 国产精品久久久久影院色老大 | 91在线一区二区三区 | 国产成人精品亚洲一区 | 91国语对白| 手机看片国产日韩 | 久久爱一区 | 一级毛片不卡免费看老司机 | 页面升级亚洲 | 欧美野外性k8播放性迷宫 | 欧美牛逼aa | 国产精品视频永久免费播放 | 亚洲欧美久久一区二区 | 可以看的黄网 | 免费一看一级毛片全播放 | 国产成人高清亚洲一区91 | 99精品免费久久久久久久久日本 | 日韩在线一区二区三区 | 久久99亚洲精品久久频 | 亚洲国产成人久久一区二区三区 | 欧美亚洲日本一区二区三区浪人 | 久久久久久久久影院 | 国产成人手机视频 | 波多野结衣视频免费在线观看 | 亚洲综合国产一区在线 | 韩国一级毛片视频 | 亚洲精品日韩一区二区 | 特黄特级a级黄毛片免费观看多人 | www一级片 | 久久精品视频免费观看 | 久久久久久亚洲精品中文字幕 | 亚洲欧美一区二区三区国产精品 | 99pao在线视频成精品 | 久久91精品国产91久久小草 | 三级做人爱c视频18三级 | 亚洲一区二区三区免费视频 | 男女很舒服爽视频免费 | 欧美视频精品一区二区三区 | 欧美资源在线观看 | 日本精品一区二区三区在线视频 |