廢話不多說,**如下:
""""
預設值三個賬戶
定義銀行賬戶類
定義atm機類
self.accounts = ,
'1122334455667789': ,
'1122334455667790':
}"""import time
class
accountcard
:def
__init__
(self, card_no, expiry_date, card_type=
"儲蓄卡"):
self.expiry_card = expiry_date # 截止日期
self.card_no = card_no # 卡號
self.card_type = card_type # 銀行卡型別
def__repr__
(self)
:"""列印資訊"""
return f'銀行卡型別:\n' \
f'有效日期:\n' \
f'銀行卡型別:'
class
atm:
def__init__
(self)
: self.accounts =
,'1122334455667789':,
'1122334455667790':}
self.current_card =
none
# 當前atm機識別的銀行卡
self.current_account =
none
# 當前atm機內的賬戶
defread_card
(self, card)
:"""讀卡"""
if card.card_no in self.accounts:
self.current_account = self.accounts[card.card_no]
for _ in
range(3
):password =
input
("請輸入賬戶密碼:"
)if password == self.current_account[
"password"]:
# 若輸入密碼成功,當前atm識別的銀行卡為當前插入的卡
self.current_card = card
return
true
else
:print
(f"密碼錯誤,您還有次嘗試的機會!"
)else
:print()
else
:print
("該賬戶不存在!"
)return
false
defshow_balance
(self)
:"""查詢餘額"""
if self.current_account:
print
(f"賬餘額為:rmb"
)def
deposited
(self, money)
:"""存錢"""
if self.current_account and money >0:
self.current_account[
'balance'
]+= money
print
("正在處理,請稍後..."
) time.sleep(3)
print
("存款成功"
)else
:return
false
defdrawback
(self, money)
:"""取款"""
if self.current_account and money <= self.current_account[
'balance']:
self.current_account[
'balance'
]-= money
print
("正在處理,請稍後..."
) time.sleep(3)
print
("請取走您的鈔票"
)return
true
else
:print
("賬戶餘額不足!!!"
)return
false
deftransfer_money
(self, other_card_no, money)
:"""轉賬"""
if other_card_no in self.accounts:
other_account = self.accounts[other_card_no]
if money <= self.current_account[
'balance']:
other_account[
'balance'
]+= money
self.current_account[
'balance'
]-= money
print
("正在處理,請稍後..."
) time.sleep(3)
print
("轉賬成功"
)return
true
else
:print
("賬戶餘額補不足。"
)return
false
else
:print
("該賬戶不存在。"
)return
false
defcard_retrieve
(self)
:"""取卡"""
print
("正在退卡,請稍後..."
) time.sleep(2)
print
("請取走您的銀行卡。"
) self.current_account =
none
self.current_card =
none
defmain()
: my_card = accountcard(card_no=
'1122334455667788'
, expiry_date=
'2020-12-31'
)print
(my_card)
"""構造器語法"""
atm = atm(
)if atm.read_card(my_card)
:while
true
: select_option =
eval
(input
("\n1、查詢餘額\t2、存款\t3、取款\t4、轉賬\t5、退卡\n請輸入要進行操作的序號:"))
if select_option ==1:
atm.show_balance(
)elif select_option ==2:
deposit_money =
eval
(input
("請輸入存款金額:"))
atm.deposited(money=deposit_money)
elif select_option ==3:
drawback_money =
eval
(input
("請輸入要取走的金額:"))
atm.drawback(money=drawback_money)
elif select_option ==4:
user_name =
input
("請輸入轉入賬戶賬號:"
) trans_money =
eval
(input
("請輸入轉入金額:"))
atm.transfer_money(other_card_no=user_name, money=trans_money)
elif select_option ==5:
atm.card_retrieve(
)break
else
:print
("操作有誤,請重新輸入!!!"
)if __name__ ==
"__main__"
: main(
)
物件導向設計模擬簡單ATM系統
atm系統 1.支援多賬號 2.登入 查詢餘額 取款 存款 轉賬 3 模 是的atm介面 4 oc,物件導向 物件導向 程式設計 1 步驟 物件導向 a 找物件 類 一些名詞 b 設計物件 先從資料入手 內容 資料 維護資料的方法 把資料找出,作為屬性 用相應的方法對資料進行維護 c 物件產生聯絡 ...
python 物件導向 實現棧
要求 棧的方法 入棧 出棧 取棧頂元素 棧的長度 判斷棧是否為空 顯示棧的元素 class stack def init self self.stack 屬性只用乙個空列表 def push self,value return true def pop self if self.stack 獲取出棧...
python物件導向 用函式實現物件導向原理
類的定義 乙個抽象的概念,儲存一些共有的屬性和特徵 物件 物件代表具體事物的特徵功能,是類的例項 物件導向程式設計 通過函式實現物件導向設計 defdog name,type,gender defjiao dog1 print 你看 s 狗再叫 dog1 name 函式的區域性作用域 defslee...