面向对象与银行管理系统2 ATM类 功能到取钱

'''
属性:
行为: 页面 1开户 2查询 3取款 4存钱 5转账
6改密 7锁卡 8解锁 9销户 0退出
'''
#欢迎页面
from card import Card
from user import User
import random
class ATM:
    def __init__(self):
        self.user_dict = {}
    def welcome(self):
        print('-'*30)
        print('        欢迎使用呵呵哒银行')
        print('-'*30)
    # 获取用户的操作
    def yemian(self=None):
        print(' *' + '*' * 29)
        print('*  1开户', '2查询', '3取款', '4存钱', '5转账  *')
        print('*  6改密', '7锁卡', '8解锁', '9销户', '0退出  *')
        print(' *' + '*' * 29)
    def new_user(self):  #开户 1
        name=input('请输入用户名:')
        id_card=int(input('请输入身份证号:'))
        phone=int(input('请输入手机号:'))
        passwd=int(input('请输入密码:'))
        passwd1=int(input('请再次输入密码:'))
        if passwd!=passwd1:
            print('两次密码不一致!开户失败')
            return
        else:
            print('请输入存款金额吗,不低于10.00')
            money=float(input(''))
            if money<10:
                print('钱太少了,出门右拐!!!')
            else:
                card_num=random.randrange(100000,999999)
                card=Card(card_num,passwd,money)
                user=User(name,id_card,phone,card)
                print('开卡成功,卡号:',card_num)
                self.user_dict.update({card_num:user})
    def query_menoy(self): #查询2
        '''
        卡号是否存在
        卡号是否锁住
        密码是否正确(3次机会)
        输入密码是否一致
        打印信息
        :return:
        '''
        card_num=int(input('请输入卡号:'))
        user=self.user_dict.get(card_num)
        if user==None:
            print('卡号不存在!')
            return
        if user.card.is_lock==True:
            print('此卡已被锁定,请重新解锁!')
            return
        for i in range(3):
            passwd=int(input('请输入密码:'))
            if passwd!=user.card.passwd:
                print('密码错误')
            else:
                break
        else:
            print('机会以用完!此卡被锁定')
            user.card.is_lock=True
            return
        print('用户名为:{} 卡号为:{} 余额:{}'.format(user.name,user.card.cid,user.card.money))
    def get_menoy(self): #取钱3
        card_num = int(input('请输入卡号:'))
        user = self.user_dict.get(card_num)
        if user == None:
            print('卡号不存在!')
            return
        if user.card.is_lock == True:
            print('此卡已被锁定,请重新解锁!')
            return
        for i in range(3):
            passwd = int(input('请输入密码:'))
            if passwd != user.card.passwd:
                print('密码错误')
            else:
                money=int(input('请输入取款金额:'))
                if money>user.card.money:
                    print('余额不足,穷逼取款失败!')
                    continue
                else:
                    user.card.money-=money
                    print('取款成功!当前余额:',user.card.money)
                    return
        else:
            print('机会以用完!此卡被锁定')
            user.card.is_lock = True
            return

跟钱相关的  都需要认证卡号跟密码   不一致都要锁定   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值