目录

ATM模拟项目简介

ATM模拟实现

存款方法的实现

取款方法实现

主界面

效果展示


ATM模拟项目简介

*对于银行ATM的模拟大致分为以下几个方面:

*对于开户要考虑到手续费的扣除这就要求用户在开户的时候存款金额不得小于10元当初始化金额小于10元要给出用户提示信息并且让用户重新输入

*首先要考虑到现实银行ATM对于用户的存取款要进行一系列的处理,首先需要设置银行密码验证,如果验证成功则继续进行下面的一系列操作,例如:存款,取款

*如果验证失败我们要相应的给客户一定的提示,提示客户登录失败的原因(如:账户不存在,密码输入错误)

*对于用户的存款规程我们只需要考虑到用户密码输入的正确和错误,但是对于取款我们一方面要考虑用户密码的正确与否另一方面要考虑用户账户里余额和取款金额的比较,如果取款金额异常要给出相应的提示信息

*用户完成操作后要给与一定的欢迎语(请戴好你的随身物品,欢迎下次光临)

ATM模拟实现

class PasswordException(Exception):#自定义密码异常

def __init__(self):
        print("密码账户错误请重试")
class JineException(Exception):#自定义取款金额异常
     def __init__(self):
         print("余额不足,请重新输入取款金额") 
class Bank:#定义一个Bank类
    flag=False#定义一个标志器用于判断用户是否开过户
    password=" "#成员变量的定义
    account=" "
    money=0
    def __init__(self):#实现类的无参构造方法
      pass
    def __init__(self,a,b,c):#实现类带参数的方法
        self.password=a
        self.account=b
        self.money=c
        self.flag=True
        print("开户成功当前余额为%d元"% self.money)

存款方法的实现

def cunkuan(self):
      if self.flag==True:
       while True: 
        try:  #抛出异常一般和except 结合使用
          print("请输入账户和密码:")
          b=input("请输入你的账户:")
          c=input("请输入你的密码:")
          if  b==self.account:
              if c==self.password:
                 d=int(input("请输入存款金额:"))
                 self.money+=d
                 print("你已存入%d元当前余额为%d元"%(d,self.money))
                 break
          else:
              raise  PasswordException#用raise关键字触发异场
        except  PasswordException as e:#抛出异常对象e
              print(e)
       else:
           print("请先进行开户")

取款方法实现

def qukuan(self):
       if self.flag==True:
         while True:
          try:
             print("请输入账户和密码:")
             b=input("请输入你的账户:")
             c=input("请输入你的密码:")
             if b==self.account:
                   if c==self.password:
                     while True:
                       try:
                         print("请输入取款金额:")
                         e=int(input())#取款金额的输入
                         if e>self.money:#取款金额与账户余额的比较
                           raise JineException
                         else:
                           self.money-=e
                           print("你已取出%d元当前余额为%d元"%(e,self.money))
                           break
                       except JineException as l:
                            print(l)#输出取款金额异常的原因
                     break #结束循环
             else:
                 raise PasswordException
          except PasswordException as e:
                            print(e)
         else:
            print("请先进行开户")

主界面

print("-------------------欢迎来到中国招商银行------------------")
print("***如果你未开户请先进行开户操作***")
while True:
 try:
      print("1,开户\t2,存款\n3,取款\t4,退出")
      print("请输入你想要办理业务的编码:")
      m=int(input())
      if m in (1,2,3,4):#判断m是否在(1,2,3,4)序列中,通过不同的编号实现不同的功能
       if m==1:
          print("请输入你的开户账号:")
          user=input()
          print("请输入你的初始化密码:")
          w=input()
          print("请输入你的初始化金额:")
          while True:
              k=int(input())
              if k>10:
                k-=10
                b=Bank(w,user,k)
                break
              else:
                print("初始金额应大于10元请重新输入初始化金额:")
       if m==2:
            b.cunkuan()
       if m==3:
            b.qukuan()
       if m==4:
            break
      else:
         print("你输入的业务编码不存在请重新输入")
 except ValueError:

print("输入编码有误")

效果展示

Python银行ATM模拟相关推荐

  1. python银行ATM自动取款机

    python银行ATM自动取款机 银行自动取款机 main.py(主程序) admin.py atm.py user.py card.py 总结 银行自动取款机 main.py(主程序) main.p ...

  2. python循环案例:模拟银行ATM存款取款

    案例:模拟银行ATM存款取款 1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式): 2.提示用户输入银行卡和密码,遍历每张卡的信息验证是否成功: 3.如果用 ...

  3. python循环结构练习(五)—— 模拟银行ATM存款取款

    一. 场景描述案例:模拟银行ATM存款取款 1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式): 2.提示用户输入银行卡和密码,遍历每张卡的信息验证是否成功 ...

  4. python实现模仿银行ATM机

    python实现模仿银行ATM机 学习了一个星期,分享一下自己的学习成果.本星期实现的是银行ATM机的功能. 实现效果如下: 开始界面,输入用户名密码之后到达主界面. 选择账户信息效果: 打印了个人的 ...

  5. 模拟银行ATM存款存取款的相关功能

    模拟银行ATM存款存取款的相关功能 具体需求: 模拟.3张银行卡,1001,1002,1003,分别设置密码和余额(可以用9个变里分别保存卡号.密码和余额) 提示用户输入银行卡和密码 如果用户输入正确 ...

  6. 银行ATM存取款页面简易版练习(python)

    学习python时的一个简单小练习,尝试着自己写一下,虽然也实现了相应功能,但是和大佬的差距还是很大的,话不多说,直接上传代码~ remain = 52000000 name = input(&quo ...

  7. 基于[Python]的ATM取款机模拟实战

    基于[Python]的ATM取款机模拟 -------------------------------- 简介 使用python语言来完成一个ATM取款机,要求功能入下: a)实现用户输入密码 b)实 ...

  8. 用Java模拟一个银行ATM系统

    用Java模拟一个银行ATM系统 系统功能介绍: 全部代码 示例截图 系统功能介绍: 使用面向对象的编程思想,尽可能模拟真实世界中的银行ATM业务流程. main方法里通过调用一行代码,完成整个业务流 ...

  9. 项目名称:银行ATM存取款机系统设计与实现(sql语句模拟操作)

    项目名称:银行ATM存取款机系统设计与实现 一.创建数据库....................................................................... ...

最新文章

  1. 分享一个python cookbook的在线教程地址
  2. 常考数据结构与算法:合并k个已排序的链表
  3. ​什么是TCP/IP
  4. HTTP 协议演示——HTTP 协议概述(3-5)
  5. mysql 增量备份_MySQL增量备份与恢复(增量备份概述、特点,断点恢复实操)
  6. 罗永浩直播间12小时销售破2亿元 网友:《真还传》年内上映指日可待
  7. 【免费毕设】asp.net服装连锁店管理系统的设计与开发(源代码+lunwen)
  8. vue中修改了数据但视图无法更新的情况
  9. Android两种存储用户临时数据的方式比较:Preferences Bundle
  10. x509证书,SSL详解
  11. 使用java代码和jmeter脚本批量造数
  12. Selenium查找元素
  13. python具有集成开发环境对吗_对于Python集成开发环境,你更喜欢哪一款?
  14. Mac电脑使用:删除保存在Mac电脑自带的Safari浏览器、谷歌浏览器、火狐浏览器中的账号和密码的方法
  15. 实施化化工厂人员定位系统势在必行,你不知道的化化工厂人员定位
  16. Python验证注册用户名是否正确
  17. anki制作灵活简洁的英语单词模板
  18. 使用poi 创建Excel 保存到本地并下载
  19. Intel新CEO敲定,斯旺终”转正“ 1
  20. 小白如何学python编程_零基础小白如何学习Python编程?

热门文章

  1. 带时间码方式,将DV带刻录为DVD的全过程
  2. 在线XML格式化网站
  3. 解决无法访问github博客的问题
  4. Transformer 机器翻译任务(上)
  5. 帆软报表添加鼠标悬置行 提示
  6. 基于opencv的车道线识别(python)(极易实现)
  7. Quartz的Scheduler的关闭和挂起,并发控制(四)
  8. 第4章2节《MonkeyRunner源码剖析》ADB协议及服务: ADB服务SERVICES.TXT翻译参考(原创)
  9. 2021互联网大厂新年礼盒大比拼!
  10. .NET MAUI 多平台应用 UI 应用