- 我也不知道大家的卡號是幾位的,我的是19位的,所以我就生產了一個19位的。
- 卡號即使是19位的,也有可能重複,所以我們要做一個驗證是否重複。
- 創建相應的card和user對象,因爲我在字典中存的是卡號-用戶
代碼如下:
import random
from user import User
from card import Card
class ATM(object):
def __init__(self):
self.allUser = {}
# 開戶
def create_user(self):
"""
業務 輸入信息,在字典中添加一對鍵值對。
:return:
"""
name = input('請輸入您的姓名:')
id_card = input('請輸入您的身份證號碼:')
phone = input('請輸入您的電話號碼:')
# 預存款
pre_deposit = int(input('請輸入預存款'))
if pre_deposit < 0:
print('預存款輸入有誤!!開戶失敗。。。。。。')
return -1
# 先預置一個密碼
f_pwd = int(input('請設置密碼 > > >'))
if not self.check_pwd(f_pwd):
print('密碼輸入錯誤,開戶失敗。。。')
return -1
# 卡號
card_id = self.random_card_id()
card = Card(card_id, f_pwd, pre_deposit)
user = User(name, id_card, phone, card)
# 存到字典
self.allUser[card_id] = user
print('開戶成功!!!卡號爲%s' % card_id)
print(self.allUser)
# 查詢
def search_userInfo(self):
pass
# 取款
def draw_money(self):
pass
# 存款
def deposit(self):
pass
# 轉賬
def transfer_accounts(self):
pass
# 改密
def change_pwd(self):
pass
# 鎖定
def lock_user(self):
pass
# 解鎖
def unlock_user(self):
pass
# 補卡
def new_card(self):
pass
# 銷戶
def kill_user(self):
pass
# 驗證密碼
def check_pwd(self, in_pwd):
for i in range(3):
temp_pwd = int(input('請輸入密碼'))
if temp_pwd == in_pwd:
return True
else:
print('密碼輸入錯誤')
return False
# 生成卡號
def random_card_id(self):
card_id = ''
for i in range(19):
a = random.randint(0, 9)
card_id += str(a)
if not self.allUser.get(str):
return card_id
代碼示例圖如下:
近來有朋友想要源碼,源碼還沒寫完呢(哈哈)
寫完之後私發給各位朋友!