溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python實(shí)現(xiàn)銀行賬戶資金交易管理系統(tǒng)

發(fā)布時(shí)間:2020-10-09 10:02:49 來(lái)源:腳本之家 閱讀:416 作者:淺淺~Smile 欄目:開(kāi)發(fā)技術(shù)

用類和對(duì)象實(shí)現(xiàn)一個(gè)銀行賬戶的資金交易管理, 包括存款、取款和打印交易詳情, 交易詳情中包含每次交易的時(shí)間、存款或者取款的金額、每次交易后的余額。
如:

Python實(shí)現(xiàn)銀行賬戶資金交易管理系統(tǒng)

下面按照要求定義一個(gè)賬戶 Account 類。賬戶 Account 類的屬性:

1. 當(dāng)前賬戶金額                               money
2. 當(dāng)前賬戶交易日志                        account_logs 

賬戶 Account 類的方法:

1. 存錢(qián)                                             deposit()無(wú)返回值
2. 取錢(qián)                                             withdrawl()無(wú)返回值
3. 打印交易詳情                               transaction_log()無(wú)返回值 

案例代碼如下:

#coding: utf-8
import time
import prettytable as pt
money = 0
acount_logs = []
class Account:
 def __init__(self):
 global money
 self.money = money
 self.acount_logs = acount_logs
 def deposit(self):
 amount = float(input('存入金額:'))
 self.money += amount
 self.write_log(amount,'轉(zhuǎn)入')
 def withdrawl(self):
 amount = float(input('取出金額:'))
 if amount > self.money:
  print('余額不足')
 else:
  self.money -= amount
  self.write_log(amount,'取出')
 def transaction_log(self):
 tb = pt.PrettyTable()
 tb.field_names = ["交易日期","摘要","金額","幣種","余額"]
 for info in self.acount_logs:
  if info[1] =='轉(zhuǎn)入':
  amount = '+{}'.format(info[2])
  else:
  amount = '-{}'.format(info[2])
  tb.add_row([info[0],info[1],amount,'人民幣',info[3]])
  print(tb)
 def write_log(self,amout,handle):
 create_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
 data =[create_time,handle,amout,self.money]
 self.acount_logs.append(data)
def show_menu():
 """ 顯示菜單欄 """
 menu = """
====================銀行賬戶資金交易管理====================
0: 退出
1:存款
2: 取款
3: 打印交易詳情
===========================================================
 """
 print(menu)
if __name__ == '__main__':
 show_menu()
 account = Account()
 while True:
 choice = int(input("請(qǐng)輸入您的選擇: "))
 if choice == 0:
  exit(0)
  print("退出系統(tǒng)")
 elif choice == 1:
  flag = True
  while flag:
  account.deposit()
  flag = True if input("是否繼續(xù)存款(Y|N): ").lower()== 'y' else False
 elif choice == 2:
  flag = True
  while flag:
  account.withdrawl()
  flag = True if input("是否繼續(xù)取款(Y|N): ").lower()== 'y' else False
 elif choice == 3:
  account.transaction_log()
 else:
  print("請(qǐng)選擇正確的編號(hào)")

測(cè)試結(jié)果如下:

====================銀行賬戶資金交易管理====================
0: 退出
1:存款
2: 取款
3: 打印交易詳情
===========================================================
 
請(qǐng)輸入您的選擇: 1
存入金額:300
是否繼續(xù)存款(Y|N): N
請(qǐng)輸入您的選擇: 2
取出金額:300
是否繼續(xù)取款(Y|N): Y
取出金額:100
余額不足
是否繼續(xù)取款(Y|N): N
請(qǐng)輸入您的選擇: 3
+---------------------+------+--------+--------+-------+
|  交易日期  | 摘要 | 金額 | 幣種 | 余額 |
+---------------------+------+--------+--------+-------+
| 2020-01-02 19:53:54 | 轉(zhuǎn)入 | +300.0 | 人民幣 | 300.0 |
+---------------------+------+--------+--------+-------+
+---------------------+------+--------+--------+-------+
|  交易日期  | 摘要 | 金額 | 幣種 | 余額 |
+---------------------+------+--------+--------+-------+
| 2020-01-02 19:53:54 | 轉(zhuǎn)入 | +300.0 | 人民幣 | 300.0 |
| 2020-01-02 19:54:02 | 取出 | -300.0 | 人民幣 | 0.0 |
+---------------------+------+--------+--------+-------+

請(qǐng)輸入您的選擇: 5
請(qǐng)選擇正確的編號(hào)
請(qǐng)輸入您的選擇: 0
Process finished with exit code 0

如果可以每次存入和取出錢(qián)之后都有余額提示就更友好了!

總結(jié)

以上所述是小編給大家介紹的Python實(shí)現(xiàn)銀行賬戶資金交易管理系統(tǒng),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI