第1步:调用atm.py文件中的查询方法
第2步:实现查询的逻辑,
第一,是否有此卡
这里我们注意一下,假如user是空,加了not就是非空
这段代码的意思就是
user没取到,print出来相应的提示语。
第二,此卡密码是否正确
全部代码如下:
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):
card_num = input("请输入您的卡号")
# 验证是否存在此卡
user = self.allUser.get(card_num)
if not user:
print('该卡号不存在,查询失败')
return -1
# 验证密码是否正确
if not self.check_pwd(user.card.card_pwd):
print('密码输入错误,查询失败')
return -1
print('帐号:%s\n余额:%d' % (user.card.card_id,user.card.card_money))
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