银行系统实战(七):实现查询功能

第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
发布了59 篇原创文章 · 获赞 49 · 访问量 6084

猜你喜欢

转载自blog.csdn.net/weixin_38114487/article/details/104129598