1. 程式人生 > >Python簡單實現ATM自動存取款機

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