Python簡單實現ATM自動存取款機
# ATM後臺資料庫 id cipher name money
ATMDataBase = [
{‘id’:‘001’,‘cipher’:‘123456’,‘name’:‘張三’,‘money’:1000},
{‘id’:‘002’,‘cipher’:‘123456’,‘name’:‘李四’,‘money’:0},
{‘id’:‘003’,‘cipher’:‘123456’,‘name’:‘王五’,‘money’:999999}]
ATMUser = “” #操作使用者
def ATM_Init():
“”"
ATM初始化,顯示操作指令
“”"
print("-"*40)
print("{0:1}{1:>20}{0:>19}".format("|",“ATM”))
print("{0:1}{1:<16}{2:>16}{0:1}".format("|",“1、登陸”,“2、退出”))
print("{0:1}{1:<16}{2:>16}{0:1}".format("|",“3、存錢”,“4、取錢”))
print("{0:1}{1:<33}{0:1}".format("|",“5、查詢餘額”))
print("-"*40)
def ATM_Login():
“”"
ATM登陸
“”"
#global ATMDataBase
global ATMUser
account = input(“請您的輸入賬號:”)
cipher = input(“請您的輸入密碼:”)
for v in range(len(ATMDataBase)):
if ATMDataBase[v][“id”] == account and ATMDataBase[v][‘cipher’] == cipher: #判斷賬號密碼是否正確
ATMUser = account # 記錄操作使用者id
print(“登陸成功,請繼續操作!”)
break
else:
if input("輸入的賬號密碼有誤,是否重新輸入 yes/no? ") == “yes”:
ATM_Login() # 重新輸入
break
def ATM_SaveMoney():
“”"
ATM存錢
“”"
try:
sunMoney = int(input(“請輸入存款金額:”))
except:
print(“請不要放入假鈔!”)
ATM_SaveMoney()
return
for v in range(len(ATMDataBase)):
if ATMUser == ATMDataBase[v][‘id’]: #調取資料庫使用者資訊進行改寫
ATMDataBase[v][‘money’]+=sunMoney
print(“您成功存款{}元”.format(sunMoney))
break
def ATM_DrawMoney():
“”"
ATM取錢
“”"
try:
sunMoney = int(input(“請輸入存款金額:”))
except:
ATM_DrawMoney()
return
for v in range(len(ATMDataBase)):
if ATMUser == ATMDataBase[v][‘id’]: #調取資料庫使用者資訊進行改寫
if ATMDataBase[v][‘money’] >=sunMoney:
ATMDataBase[v][‘money’]-=sunMoney
print(“您成功取款{}元”.format(sunMoney))
break
else:
print(“您的賬戶餘額不足!”)
break
def ATM_BalanceInquiry():
“”"
ATM查詢餘額
“”"
for v in range(len(ATMDataBase)):
if ATMUser == ATMDataBase[v][‘id’]: #調取資料庫使用者資訊輸出
print(“您的賬戶餘額還有{}元”.format(ATMDataBase[v][‘money’]))
break
def isLogin():
“”"
是否已經登陸
“”"
if ATMUser == “”:
print(“請先進行登陸!”)
return not ATMUser == “”
def ATM_Handle():
“”"
獲取ATM操作,執行相關指令
“”"
key = input(“請輸入對應編號進行操作:”)
if key == “1”:
ATM_Login()
elif key == “2”:
return
elif key == “3”:
if isLogin():
ATM_SaveMoney()
elif key == “4”:
if isLogin():
ATM_DrawMoney()
elif key == “5”:
if isLogin():
ATM_BalanceInquiry()
else:
print(“無效操作,請重新輸入”)
ATM_Handle() #重複獲取使用者操作 直到使用者執行退出操作
ATM_Init()
ATM_Handle()
瀋陽專業治療皰疹醫院:http://www.sdjk99.com/
瀋陽性病醫院哪家好:http://yyk.39.net/sy/zhuanke/fc844.html