分享
分销 收藏 举报 申诉 / 14
播放页_导航下方通栏广告

类型python模拟银行atm程序设计.pdf

  • 上传人:曲****
  • 文档编号:226561
  • 上传时间:2023-03-09
  • 格式:PDF
  • 页数:14
  • 大小:578.69KB
  • 下载积分:15 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    python 模拟 银行 atm 程序设计
    资源描述:
    事 辽宁工程我不大学0切 LIAONING TECHNICAL UNIVERSITY第2次综合训练报告题目:银行ATM模拟程序 目录1 摘要.12.设计思路.I3.源程序.64.代码分析.2参考资料.3银行ATM模拟程序1摘要自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一张信用卡大小的胶 卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存 款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所 学的Python知识进行设计编程。实现的主要功能有:账户信息查询、存款操作、取款操作、修 改密码功能、退出系统功能。用户任意选择1张银行卡(输入1位3的数字),输入初始密码123456即可进入ATO操 作系统菜单(如图1所示),若输入密码连续错误三次则锁卡自动退出系统(如图2所示),系统菜单各功能(如图3所示)。编写程序时的环境是Python3.4,所以代码中print及input函数可能与python2.X版本 有一些差别o参考了教材中第八章面向对象程序设计,编写了两个类包括ATM机类和银行卡Card 类,编写了若干个函数以实现整个程序模拟ATM机的各种功能。变量和函数的命名主要使用了 Camel命名法,类的命名主要使用了 Pascal命名法,程序共189行(含空行),因为时间比较 仓促,可能有些地方写的比较乱,有些地方命名也不规范。另外因为对文件的操作不熟练,在 网上也没找到太多相关的资料,请多包涵。1欢迎使用小白白ATM卡号 1001 1002 1003密码 123456 123456 123456银行卡信息 姓名张大白张二白张三白余额 1000 2000 3000清选择一张银行卡(P3):2你插入了银行卡1。02清输入密码:123456密码正确,进入系统演款款如卡 查存取修退 12 3 4 5清选择:|图12欢迎使用小白白ATM卡号 1001 1002 1003密码123456123456123456银行卡信息姓名张大白张二白张三白余额100020003000请选择一张银行卡(T3):2你插入了银行卡1002 请输入密码:214565 密码错误次数1,请重新输入密码 清输入密码:789456 密码错误次数2,请重新输入密码 清输入密码:123654 密码错误次数3,请重新输入密码 密码错误次数过多,退出系统图23ar iro hu 5前寸+ni no iriaou 一向户码畔市1 ml:lleRV翡&*RI ooi卧 tra蠢卡 s 1234匕V-仙.A?non升格历TH b a1 tun.-uF t Ke aid z JUUUI更J3户信3星第 更6 rB10 i tno2 200国工1罂皆/翳富媪?吗倦旦总5不过匕。元4*功Th,bal of ti card i iOOOI I,ill|愉依41i um lono图342设计思路程序设计灵感来自银行ATM机,在这里将ATM机的各种功能抽象与简化,设计了银行ATM 模拟程序。根据我们日常的生活经验,我们要使用ATM机就需要一张银行卡。运用面向对象的编程方 法,把ATM机和银行卡简化并抽象为两个类:1)银行卡类,主要用来存储账户信息,包括卡号、密码、用户名、余额四个属性,另外写 了一个构造方法。2)ATM机类,主要用来查询和修改银行卡的信息,写了五个方法,以银行卡类的对象作为 参数,实现银行卡查询(包括卡号、密码、用户名、余额)、存款(银行卡余额增加)、取款(银行卡余额减少)、修改银行卡密码、退卡(退出程序)等功能。写好了类后,我们开始模拟ATM机的操作过程。首先,使用ATM机我们需要插卡,从文件中读取银行卡信息(想法并没有能很好的实现),我们预设三张银行卡,用户选择(广3号银行卡),根据银行卡信息创建一个对应的银行卡对 象,以及ATM机对象。插卡后,我们需要用户输入密码。如果输入密码与银行卡密码匹配就进入ATM系统,如果 输入密码错误打到三次就锁卡退出。进入ATM系统,用户可以选择ATM的五个功能:1)银行卡查询,实现的方法就是使用print函数输出银行卡的卡号、密码、用户名、余额。2)存款,实现的方法就是把银行卡的余额+XX 100,(X为正整数),约束条件为存款金额 大于100小于lOOOOo3)取款,实现的方法就是把银行卡的余额-XX 100,(X为正整数),约束条件为取款金额 不大于存款金额且不大于5000。4)密码修改,实现的方法就是把银行卡的密码修改。首先要输入原密码,如果原密码输入 错误,则修改密码失败,成功后需要用户输入新密码两次,如果两次密码一致则修改成功,否 则密码修改失败。5)退卡,使用exit()函数退出程序53源程序1.#!/usr/bin/python2.#coding:utf-83.#author:张也白 Python Version:3.44.import os5.6.class DepositCard:7.cardID=08.cardPWD=123456,9.balance=010.userName-000011.def_init_(self,cardID,cardPWD,userName,balance):12.self.cardlD=cardID13.self.cardPWD=cardPWD14.self.userName-userName15.self.balance=balance16.17.class ATM:18.def deposite(self,card):#存款19.divide()20.info=存款n21.print(info.center(50)22.cash=input(提示:存款金额为100的倍数,金额要求在10(M0000之间n)23.if int(cash)%100=0 and int(cash)0 and int(cash)=int(choice)*100:43.card.balance-=int(choice)*10044.info=取款成功n”45.print(info.center(50)46.47.elif int(choice)=3 and card.balance=500:c ardbalanc e-=5 0048.info=取款成功n”49.50.print(info.center(50)elif int(choice)=4:51.cash=input(n提示:取款金额为100的倍数,且总额不超过5000元n请53.if int(cash)=100 and int(cash)=int(cash):55.card.balance-=int(cash)56.info=取款成功n57.58.print(info.center(50)else:59.prints输入错误或卡内余额不足)60.else:61.print。输入错误或卡内余额不足)62.else:63.64.printC输入错误或卡内余额不足,)65.66.print(nnThe balance of the card:%d%card.balance)67.divide()768.69.def modify(self,card):#修改密码70.divide()71.info=修改密码n72.print(info.center(50)73.inStr=inputC请输入原密码:,)74.if inStr!气ard.cardPWD:75.info=密码错误n76.print(info.center(50)77.else:78.newPWDl=inputC 请输入新密码:,)79.newPWD2=input。请再次输入新密码:,)80.if newPWDl=newPWD2:81.card.cardPWD=newPWD 182.info=n密码修改成功,请牢记你的新密码n83.print(infb.center(50)84.else:85.info=n 密码不一致n86.print(info.center(50)87.divide()88.89.def query(self,card):#查询90.divide()91.info=查询成功n”92.print(info.center(50)93.print,银行卡信息1center(50)94.print(%-10s%-10s%-10s%-10s%C 卡号?密码?姓名?余额?95.print(%-lls%-ll s%-ll s%-ll s%(str(c ar d.c ardl D),c ard.c ardP WD,c ard.us erNam96.e,str(card.balance)97.divide()98.def rcfundCard(sclf,card):#退卡99.divide()100.print。(假装把卡吐出来为101.printf谢谢使用,请收好您的卡片)8102.divide()103.def divide():104.print(n-n)105.def init():106.f=open(D:a.txf,w)107.info=108.1001 123456 张大白 1000109.1002 123456 张二白 2000110.1003 123456 张三白 3000111.f.write(info)112.close()113.s=open(D:a.txt,r)114.print。银行卡信息center(50)115.print(%-l Os%-1 Os%-1 Os%-10s%(卡号?密码?姓名?余额)116.for line in s.readlines():117.for i in range(0,4):118.print(%-11 s%line.split()i,end=)119.if i=3:120.print()121.s.close122.divide()123.return124.def createCard():125.choice=inputC请选择一张银行卡(13)126.if int(choice)1:127.newcard=DepositCard(1001,”23456?张大白;1000)128.login(newcard)129.elif int(choice)=2:130.newcard=DepositCard(1002;123456?张二白;2000)131.login(newcard)132.elif int(choice)=3:133.newcard=DepositCard(1003;123456?张三白;3000)134.login(newcard)135.else:9136.print。输入有误,退出系统)137.exit()138.def login(card):139.divide()140.print(n 你插入了银行卡sn%card.cardID)141.sum=0142.pwd=143.while pwd!=card.cardPWD:144.pwd=input(n 请输入密码:,)145.sum+=l146.if pwd card.cardPWD:147.break148.else:149.printC密码错误次数4请重新输入密码,sum)150.if sum 2:151.print(n密码错误次数过多,退出系统)152.exit()153.printCn密码正确,进入系统,)154.divide()155.XiaoBaiATM=ATM()156.menu(XiaoBaiATM,card)157.def start():158.divide()159.print(tt欢迎使用小白白ATM)160.divide()161.init()162.createCard()163.def menu(XiaoBaiATM,card):164.options=H查询账户信息存款;3:取款修改密码5退卡?165.fora in options.items():166.print(aO,al)167.choice=input(n 请选择:)168.if int(choice)=1:169.Xiao Bai AT M.query(card)10170.menu(Xiao Ba i AT M,c ard)171.elif int(choice)=2:172.XiaoBaiATM.deposite(card)173.menu(Xiao Ba i AT M,c ard)174.elif int(choice)=3:175.XiaoBaiATM.withdraw(card)176.menu(Xiao Ba i AT M,c ard)177.elif int(choice)=4:178.Xiao Ba i AT M.modify(c ard)179.menu(Xiao Ba i AT M,c ard)180.elif int(choice)=5:181.Xiao Bai AT M.refundCard(card)182.else:183.print,输入有误)184.menu(XiaoBaiATM,card)185.print()186.def main():187.start()188.if _name_=_main_189.main()4代码分析首先执行第X行,进行输入。然后在执行X行时跳转到第X行,运行第一个函数 然后运行第X行,到第X行时跳转到第X行执行第二个函数接下来执行第X行参考资料1 xxxx(参考资料格式:文章题目+点号+空格+网址+英文冒号+空格+网址)2 xxxx11辽宁工程技术大学安全科学与工程学院 2015/2016学年第二学期综合训练报告评分表综合训练题目:所在班级:项目内容满分实评匕匕 hj t PI能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集、排版、制图等10能体现创造性思维,或有独特见解10成 果 质 量模型正确、合理,各项技术指标符合要求。15摘要叙述简练完整,假设合理、问题分析正确、用语准确、结论严谨合理;问题处理科学、条理分明、语言流畅、结构 严谨、版面清晰25报告主要部分齐全、合理,符号统一、编号齐全。格式、绘 图、表格、插图等规范准确,符合报告要求15正文字数不少于2000字,不超过15000字5总分100小组成员:指导教师评语:指导教师签名:年 月 日(注:1.此页附在综合训练报告之后;2.综合成绩按百分比计算)12
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:python模拟银行atm程序设计.pdf
    链接地址:https://www.zixin.com.cn/doc/226561.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork