-
大小: 10KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2023-12-23
- 語言: Python
- 標簽:
資源簡介
完整版銀行管理系統,可以用于課程設計、練手小程序,數據采用文件存儲,代碼注釋完整,新手也可以很容易的看懂。

代碼片段和文件信息
#?各種操作類
import?random
from?card?import?Card
from?user?import?User
import?time
class?ATM(object):
????#?初始化
????def?__init__(self?allUsersInfo):
????????#?將所有用戶信息傳遞過來,以便后續操作
????????self.allUsersInfo?=?allUsersInfo??#?卡號?:用戶
????#?確認密碼
????def?checkPwd(self?realPwd):
????????myList?=?[3?2?1?0]
????????for?i?in?myList:
????????????#?如果密碼輸入錯誤超過三次
????????????if?i?==?0:
????????????????return?False
????????????rePass?=?input(‘請再次輸入密碼:‘)
????????????if?realPwd?==?rePass:
????????????????return?True
????????????elif?(i?-?1)?!=?0:
????????????????print(‘輸入錯誤,你還有%d次輸入的機會!‘?%?(i?-?1))
????#?隨機生成開戶卡號
????def?randomId(self):
????????while?True:
????????????#?存儲卡號
????????????str?=?‘‘
????????????#?隨機生成6位卡號
????????????for?i?in?range(6):
????????????????ch?=?chr(random.randrange(ord(‘0‘)?ord(‘9‘)?+?1))
????????????????str?+=?ch
????????????#?判斷卡號是否重復
????????????if?not?self.allUsersInfo.get(str):
????????????????return?str
????#?開卡操作
????def?createUser(self):
????????try:
????????????name?=?input(‘請輸入姓名:‘)??#?用戶姓名
????????????idCard?=?input(‘請輸入身份證號碼:‘)??#?用戶身份證號
????????????phone?=?input(‘請輸入電話號碼:‘)??#?用戶的電話號碼
????????????preMoney?=?int(input(‘請輸入預存金額:‘))??#?用戶的預存金額
????????????#?預存金額少于0則開戶失敗
????????????if?preMoney?0:
????????????????print(‘預存金額有誤,開戶失敗!‘)
????????????????return?-1
????????????#?設置密碼
????????????onePwd?=?input(‘請輸入密碼:‘)??#?第一次密碼
????????????twoPwd?=?self.checkPwd(onePwd)
????????????if?not?twoPwd:
????????????????print(‘確認密碼錯誤,開戶失敗!‘)
????????????????return?-1
????????????#?以上全部完成,則開戶所需的信息準備齊全,開戶成功
????????????#?系統生成開戶卡號
????????????#?生成卡號
????????????cardStr?=?self.randomId()
????????????#?創建一個卡的實例,用于存儲卡的信息
????????????card?=?Card(cardStr?onePwd?preMoney)
????????????#?創建一個用戶實例,用于存儲用戶的信息
????????????user?=?User(name?idCard?phone?card)
????????????#?按?卡號?:?用戶信息?鍵值對的形式存入字典中
????????????self.allUsersInfo[cardStr]?=?user
????????????#?提示用戶,已經開戶成功
????????????time.sleep(1)
????????????print(‘開戶成功,請牢記卡號({})...‘.format(cardStr))
????????except?Exception?as?e:
????????????print(‘抱歉,系統出現故障,暫時無法操作!‘)
????????????return
????#?判斷卡號是否存在
????def?isExistence(self?cardStrInp):
????????#?卡號不存在,直接退回到選項界面
????????if?self.allUsersInfo.get(cardStrInp):
????????????return?True
????????#?卡號不存在的情況下
????????else:
????????????print(‘卡號不存在!‘)
????????????return?False
????#?做查詢等操作時,輸入密碼
????def?secretOption(self?cardStrInp):
????????myList?=?[3?2?1?0]
????????for?i?in?myList:
????????????#?如果密碼輸入錯誤超過三次
????????????if?i?==?0:
????????????????return?False
????????????passInp?=?input(‘請輸入密碼:‘)
????????????if?passInp?==?self.allUsersInfo[cardStrInp].cardInfo.cardPwd:
????????????????return?True
????????????elif?(i?-?1)?!=?0:
????????????????print(‘輸入錯誤,你還有%d次輸入的機會!‘?%?(i?-?1))
????#?查詢用戶信息
????def?searchUserInfo(self):
????????cardStrInp?=?input(‘請輸入卡號:‘)??#?用戶想要查詢的卡號
????????#?判斷卡號的狀態
????????isExist?=?self.isExisten
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????12897??2017-10-21?10:00??bank\atm.py
?????文件????????272??2017-10-21?10:00??bank\card.py
?????文件????????332??2017-10-21?09:57??bank\databa
?????文件???????2386??2017-10-21?10:00??bank\main.py
?????文件????????348??2017-10-19?21:49??bank\test.py
?????文件????????330??2017-10-21?10:00??bank\user.py
?????文件???????2059??2017-10-21?10:01??bank\view.py
?????文件???????6741??2017-10-21?09:54??bank\__pycache__\atm.cpython-36.pyc
?????文件????????468??2017-10-19?20:20??bank\__pycache__\card.cpython-36.pyc
?????文件????????466??2017-10-19?20:20??bank\__pycache__\user.cpython-36.pyc
?????文件???????1720??2017-10-21?09:43??bank\__pycache__\view.cpython-36.pyc
?????目錄??????????0??2017-10-21?09:54??bank\__pycache__
?????目錄??????????0??2017-10-21?10:01??bank
-----------?---------??----------?-----??----
????????????????28019????????????????????13
評論
共有 條評論