1. 程式人生 > 程式設計 >Python實現銀行賬戶資金交易管理系統

Python實現銀行賬戶資金交易管理系統

用類和物件實現一個銀行賬戶的資金交易管理, 包括存款、取款和列印交易詳情, 交易詳情中包含每次交易的時間、存款或者取款的金額、每次交易後的餘額。
如:

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

1. 當前賬戶金額 money
2. 當前賬戶交易日誌 account_logs

賬戶 Account 類的方法:

1. 存錢 deposit()無返回值
2. 取錢 withdrawl()無返回值
3. 列印交易詳情 transaction_log()無返回值

案例程式碼如下:

#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,'轉入')
 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] =='轉入':
  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,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("請輸入您的選擇: "))
 if choice == 0:
  exit(0)
  print("退出系統")
 elif choice == 1:
  flag = True
  while flag:
  account.deposit()
  flag = True if input("是否繼續存款(Y|N): ").lower()== 'y' else False
 elif choice == 2:
  flag = True
  while flag:
  account.withdrawl()
  flag = True if input("是否繼續取款(Y|N): ").lower()== 'y' else False
 elif choice == 3:
  account.transaction_log()
 else:
  print("請選擇正確的編號")

測試結果如下:

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

請輸入您的選擇: 5
請選擇正確的編號
請輸入您的選擇: 0
Process finished with exit code 0

如果可以每次存入和取出錢之後都有餘額提示就更友好了!

總結

以上所述是小編給大家介紹的Python實現銀行賬戶資金交易管理系統,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!