print("開卡成功您的卡號是:%s"%card_id)
def search_account(self): #搜尋功能 利用鍵值卡號 搜尋到對應的使用者
sch_card = input("請輸入要查詢的卡號:")
if not self.all_users.get(sch_card) : #判斷卡號是否存在
print("輸入的卡號錯誤")
sch_card = input("請重新輸入: 輸入'q'退出:")
sch_user = self.all_users[sch_card]
intpass_wd = input("請輸入密碼:")
passwd = sch_user.card.passwd
if self.verify_passwd(intpass_wd,passwd) == -1: #輸錯密碼重複三次 否則退出操作(完善功能可以進行鎖卡)
return -1
print("餘額:{}".format(sch_user.card.money)) #輸出餘額
return 0
def change_pw(self):
pass
def locking_account(self): #鎖卡 也是輸入卡號 為鍵值 搜尋使用者 得到使用者資訊
lock_card = input("請輸入卡號:")
if self.whether_cardid(lock_card) == -1: #判斷卡號是否存在
return -1
if self.all_users[lock_card].card.lock: #判斷卡是否被鎖 (完善功能後開戶搜尋都可以進行判斷)
print("卡已經鎖定")
return -1
lock_user = self.all_users[lock_card]
lock_passwd = input("請輸入密碼:") #輸入密碼 確認是否是本人操作
passwd = lock_user.card.passwd
if self.verify_passwd(lock_passwd,passwd) == -1: #輸入密碼錯誤重複密碼
print("密碼錯誤退出操作")
return -1
lock_user.card.lock = true #將卡物件的成員屬性鎖設為true 鎖卡成功
print("此卡已被鎖定")
return 0
def deposit_money(self):
pass
def withdraw_money(self):
pass
def transfer_money(self):
pass
def ressiue_card(self):
pass
def unlocking_account(self): #解鎖
unlock_card = input("請輸入卡號:")
if self.whether_cardid(unlock_card) == -1: 判斷卡號是否存在 不存在退出操作
return -1
if not self.all_users[unlock_card].card.lock:
print("卡未被鎖定")
return -1
unlock_user = self.all_users[unlock_card]
unlock_passwd = input("請輸入密碼:")
passwd = unlock_user.card.passwd
if self.verify_passwd(unlock_passwd,passwd) == -1: #輸錯密碼時 重複密碼
print("密碼錯誤退出操作")
unlock_user.card.lock = false
print("卡已解鎖")
def destory_account(self):
pass
def quit(self):
pickle.dump(self.all_users, self.fp) #退出時將字典寫進檔案
self.fp.close() #關閉檔案通道
def random_acount(self): #生成卡號
cardnum = ""
while true:
for i in range(6):
num = random.randint(0, 9)
cardnum += str(num)
if not self.all_users.get(cardnum):
return cardnum
def verify_passwd(self, passwd_rp, passwd):# 輸入錯誤時 驗證密碼
index = 2
while passwd_rp != passwd:
passwd_rp = input("密碼輸入錯誤請重新輸入:")
print("%d次機會"%index)
print("機會使用完畢將操作失敗")
index -= 1
if index == 0:
print("操作失敗 退出操作")
return -1
return 0
def whether_cardid(self,card_id): #判斷是否存在卡號
if self.all_users.get(card_id):
return 0
print("卡號不存在")
return -1
def main(): #測試**
atm = atm()
atm.locking_account()
atm.unlocking_account()
if __name__ == '__main__':
main()
python學習之銀行系統
import datetime balance 1000 account log defvalidate func 裝飾器,用於檢查使用者輸入的合法性驗證 param func 被裝飾的函式 return def args,kwargs amount args 0 iflen str amount ...
python安裝(不影響系統自帶python)
linux下安裝python3.6和第三方庫 如果本機安裝了python2,盡量不要管他,使用python3執行python指令碼就好,因為可能有程式依賴目前的python2環境,比如yum!不要動現有的python2環境!1.安裝依賴環境 yum y install zlib devel bzip...
python銀行排隊系統 在Python中排隊
本文主要向您介紹python語言的queue,並通過特定內容向您展示,希望可以幫助您學習python語言.什麼是佇列?佇列就像水管python中怎麼匯入queue,先入先出,對應於堆疊,後進先出.該佇列是執行緒安全的,並且該佇列具有自己的機制 僅乙個執行緒同時在該佇列上執行.儲存資料,獲取資料 1i...