Python物件導向實現ATM操作

2021-10-25 02:47:27 字數 4258 閱讀 5556

廢話不多說,**如下:

""""

預設值三個賬戶

定義銀行賬戶類

定義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...