python學習之銀行系統

2021-10-09 14:41:01 字數 2258 閱讀 9830

import datetime

balance =

1000

account_log =

defvalidate

(func)

:"""

裝飾器,用於檢查使用者輸入的合法性驗證

:param func: 被裝飾的函式

:return:

"""def(

*args,

**kwargs)

: amount=args[0]

iflen

(str

(amount))-

str(amount)

.index(

".")-1

>2:

print

("輸入格式有誤,請輸入兩位小數!"

)else

: func(

*args,

**kwargs)

@validate

defdeposit

(amount)

:"""

存款函式

:param amount: 存入金額

:return: none

"""global balance

balance += amount

write_log(amount,

"存入"

)@validate

defwithdrawal

(amount)

:"""

取款函式

:param amount: 取出金額

:return: none

"""global balance

if amount > balance:

print

(f"取款失敗!餘額不足"

)else

: balance -=amount

write_log(amount,

"取出"

)def

write_log

(amount,

type):

""" 寫入日誌函式,格式為["create_time","type","amount","balance"]

:param amount: 金額

:param type: 操作型別

:return: none

"""now = datetime.datetime.now(

) create_time = now.strftime(

"%y-%m-%d %h:%m:%s"

)[create_time,

type

,amount,f""])

defprint_log()

:"""

檢視日誌函式

:return: none

"""print

(account_log)

defshow_menu()

:"""

顯示選單函式

:return: none

"""menu =

"""操作選單:

0:退出

1:存錢

2:取錢

3:檢視交易日誌

"""print

(menu)

while

(true):

show_menu(

) num=

int(

input

("請輸入所要操作的選單編號:"))

if num ==0:

#退出print

("你已成功退出!"

)break

elif num ==1:

#存錢 amount =

float

(input

("請輸入存入的金額:"))

deposit(amount)

print

(f"當前的餘額是:"

)elif num ==2:

#取錢 amount =

float

(input

("請輸入取出的金額:"))

withdrawal(amount)

print

(f"當前的餘額是:"

)elif num ==3:

#檢視交易日誌

print_log(

)else

:print

("輸入選單編碼有誤,請重新輸入!"

)

python銀行系統 python 銀行系統

print 開卡成功您的卡號是 s card id def search account self 搜尋功能 利用鍵值卡號 搜尋到對應的使用者 sch card input 請輸入要查詢的卡號 if not self.all users.get sch card 判斷卡號是否存在 print 輸入的...

python銀行排隊系統 在Python中排隊

本文主要向您介紹python語言的queue,並通過特定內容向您展示,希望可以幫助您學習python語言.什麼是佇列?佇列就像水管python中怎麼匯入queue,先入先出,對應於堆疊,後進先出.該佇列是執行緒安全的,並且該佇列具有自己的機制 僅乙個執行緒同時在該佇列上執行.儲存資料,獲取資料 1i...

ATM銀行系統

以前做的課程設計做個備份。include include include includestruct acc struct acc head,tail,p1 int denglu void zhuce void caidan1 void caidan2 void cunkuan void qukua...