小編給大家分享一下如何使用Python實(shí)現(xiàn)ATM系統(tǒng),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

案例剖析:
1.atm主頁面顯示.
2.賬號(hào)驗(yàn)證.
3.查詢余額.
4.存款.
5.取款.
6.修改密碼.
ps:我的思路是將以上的功能分成幾大塊,通過函數(shù),循環(huán)和返回值來實(shí)現(xiàn),話不多說直接上代碼.
代碼:
1.atm主頁面顯示
def index(nowUser):
print('=' * 10, '自動(dòng)存取款機(jī)', '=' * 10)
print(getName(nowUser), '歡迎登陸!')
print('{:<10}{:^10}{:<10}'.format('1.修改密碼', ' ', '2.查詢余額'))
print('{:<10}{:^12}{:<10}'.format('3.存錢', ' ', '4.取錢'))
print('輸入\'exit\'退出操作')ps:使用format來進(jìn)行格式的定義.
2.賬號(hào)驗(yàn)證
def getId(nowUser): '''獲取當(dāng)前用戶在列表中的位置''' index = -1 for i in range(len(userList)): if userList[i]['cardid'] == nowUser: index = i # 如果用戶存在則返回它在列表中的下標(biāo) break return index # 如果用戶不存在則返回-1 def getName(nowUser): ''' 獲取用戶姓名''' index = getId(nowUser) return userList[index]['name'] def checkUser(cardid, password): '''自定義用戶檢測(cè)功能,包括卡號(hào)及密碼檢測(cè)''' index = getId(cardid) if index == -1: # 如果用戶不存在 return 'noCardId' # 卡號(hào)不存在 else: if userList[index]['cardid'] == cardid and userList[index]['password'] == password: # 用戶存在并且賬號(hào)密碼正確 return 'login' # 密碼正確 else: return 'errorPW' # 密碼錯(cuò)誤
ps:使用循環(huán)和返回值來進(jìn)行賬號(hào)的對(duì)比和檢測(cè).
3.查詢余額
def showMoney(nowUser):
'''查詢余額'''
index = getId(nowUser)
print('您當(dāng)前的賬戶余額為:', userList[index]['money'], '元')4.存錢
def saveMoney(nowUser, money):
'''存錢'''
index = getId(nowUser)
print("輸入的金額是:", money)
userList[index]['money'] += int(money)
print('存入成功!')5.取錢
def drawMoney(nowUser, money):
'''取錢'''
index = getId(nowUser)
nowMoney = userList[index]['money']
if nowMoney >= int(money):
userList[index]['money'] -= int(money)
print('已取出', money, '元')
else:
print('賬戶余額不足!')6.修改密碼
def changePW(nowUser, newPW): '''修改密碼''' index = getId(nowUser) userList[index]['password'] = newPW
7.定義用戶操作函數(shù)
# 用戶操作
def userChoice(nowUser):
choices = ['1', '2', '3', '4', 'exit']
# 循環(huán)獲取用戶操作
while True:
index(nowUser)
choice = input('請(qǐng)選擇操作:')
if choice == '1': # 選擇修改密碼
oldPW = input('請(qǐng)輸入原始密碼:')
flag = checkUser(nowUser, oldPW)
if flag == "errorPW":
# print('密碼錯(cuò)誤!請(qǐng)重新輸入,或輸入\'back\'返回上一級(jí)')
print('密碼錯(cuò)誤!返回主界面')
elif flag == 'login':
changePW(nowUser, input('請(qǐng)輸入新密碼:'))
print('修改密碼成功!')
continue
elif choice == '2': # 選擇查詢余額
showMoney(nowUser)
continue
elif choice == '3': # 選擇存錢
saveMoney(nowUser, input('請(qǐng)輸入存入金額:'))
continue
elif choice == '4': # 選擇取錢
drawMoney(nowUser, input('請(qǐng)輸入取出金額:'))
continue
elif choice == 'exit':
main() # 返回主界面
elif choice not in choices:
print('錯(cuò)誤操作,請(qǐng)重新輸入選項(xiàng)!')
continue8.定義main主函數(shù)
# 主界面
def main():
# 定義錯(cuò)誤次數(shù)
errorTime = 0
if errorTime >= 3: # 錯(cuò)誤次數(shù)達(dá)三次退出系統(tǒng)后清零
errorTime = 0
while True:
# crs登陸主界面
print('=' * 10, '自動(dòng)存取款機(jī)', '=' * 10)
nowUser = ''
# 用戶輸入卡號(hào)和密碼
cardid = input('請(qǐng)輸入卡號(hào):')
password = input('請(qǐng)輸入密碼:')
# 判斷卡號(hào)密碼是否存在正確
# 卡號(hào)不存在
flag = checkUser(cardid, password)
if flag == 'noCardId':
print('卡號(hào)不存在!請(qǐng)重新輸入')
continue
# 密碼錯(cuò)誤
elif flag == 'errorPW':
errorTime += 1
print('密碼錯(cuò)誤!錯(cuò)誤次數(shù)達(dá)三次將自動(dòng)退出本系統(tǒng)!')
print("錯(cuò)誤次數(shù):", errorTime)
if errorTime >= 3: # 錯(cuò)誤次數(shù)達(dá)三次自動(dòng)退出
print('密碼輸錯(cuò)三次,自動(dòng)退出系統(tǒng)!')
exit(0)
continue
# 卡號(hào)密碼正確進(jìn)入系統(tǒng)
else:
nowUser = cardid
userChoice(nowUser)9.最后定義函數(shù)主入口,進(jìn)行ATM系統(tǒng)的測(cè)試
if __name__ == '__main__': main()
收獲:
通過ATM案例 ,將之前學(xué)習(xí)的Python基礎(chǔ)重新進(jìn)行了一次鞏固,梳理和融會(huì)貫通,個(gè)人感覺 Python的函數(shù)和返回值是個(gè)特別神奇的東西,當(dāng)然這個(gè)案例還有很大的改進(jìn)空間,大家有什么好的建議也可以給我留言,我之后會(huì)慢慢進(jìn)行改良噠!
以上是“如何使用Python實(shí)現(xiàn)ATM系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁標(biāo)題:如何使用Python實(shí)現(xiàn)ATM系統(tǒng)-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.chinadenli.net/article36/docdsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、App開發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容