由于最近刚接触了python这门编程语言,所以今天就来给大家分享一下如何用python去写一个简单的ATM银行管理系统。

目录

一、ATM功能

  1. 注册
  2. 登录

  3. 查询余额

  4. 存款

  5. 取款

二、完整代码


一、ATM功能实现代码

1.注册

代码如下:(新用户注册时,系统将奖励3000元)

def reg():while True:un = input('请输入您的用户名:【注册】')for item in user_list:if un == item['user']:print('用户已存在,请检查')break  # break 出for循环else:pw = input('请输入您的密码:【注册】')if len(pw) < 6:print('密码长度小于6位,请检查')else:# 用户注册成功user_list.append({'user': un, 'password': pw, 'balance': 3000})print('恭喜您注册成功!')return True  # 退出整个函数

2.登录

代码如下:

def login():while True:un = input('请输入您的用户名:【登陆】')pw = input('请输入您的密码:【登陆】')for user in user_list:if user['user'] == un and user['password'] == pw: # 这就说明用户名和密码输入正确print('恭喜您登陆成功!')global current_usercurrent_user = userreturnelse:print('用户名或密码错误!')

3.查询余额

代码如下:

def check_balance():if current_user:  # 代表当前已经登陆print('当前用户的余额为:', current_user['balance'])else:print('请先登陆后再进行查询余额操作!')

4.存款

代码如下:

def depoisit():if current_user:money = int(input('请输入您要存款的金额:'))if money[-2:] == '00' and len(money) > 2:  # 说明输入的是100的整数倍current_user['balance'] += int(money)print('恭喜存款成功,当前余额为:', current_user['balance'])else:print('您的存款金额格式不正确,请检查后再操作')else:print('您尚未登陆,请登陆后再进行相关操作!')

5.取款

代码如下:

def withdraw():if current_user:money = input('请输入您要取款的金额:')if money[-2:] == '00' and len(money) > 2:  # 说明输入的是100的整数倍if current_user['balance'] >= int(money):current_user['balance'] -= int(money)print('恭喜您取款成功,当前余额为:', current_user['balance'])else:print('您的余额不足!')else:print('您的存款金额格式不正确,请检查后再操作')else:print('您尚未登陆,请登陆后再进行相关操作!')

6.转账

代码如下:

def transfer():if current_user:to_user = input('请输入对方的账号:')if current_user['user'] == to_user:print('不能自己给自己转账,请检查后再操作')else:for user in user_list:if user['user'] == to_user:  # 说明找到了一个有效的转账用户money = input('请输入您要转账的金额:')if money[-2:] == '00' and len(money) > 2:  # 说明输入的是100的整数倍if current_user['balance'] >= int(money):current_user['balance'] -= int(money)  # 自己账户余额减少user['balance'] += int(money)          # 对方账户余额增加print('恭喜您转账成功,当前余额为:', current_user['balance'])else:print('您的余额不足,无法转账,赶紧去搬砖吧!')else:print('您的存款金额格式不正确,请检查后再操作')breakelse:print('对方账户不存在,请检查后再操作!')else:print('您尚未登陆,请登陆后再进行相关操作!')

二、完整代码

user_list = [{'user': 'zhangsan', 'password': '123456', 'balance': 1000},{'user': 'lisi', 'password': '111111', 'balance': 2500},{'user': 'wangwu', 'password': '252525', 'balance': 100}
]current_user = None  # 用于记录当前登陆用户信息的全局变量def reg():while True:un = input('请输入您的用户名:【注册】')for item in user_list:if un == item['user']:print('用户已存在,请检查')break  # break 出for循环else:pw = input('请输入您的密码:【注册】')if len(pw) < 6:print('密码长度小于6位,请检查')else:# 用户注册成功user_list.append({'user': un, 'password': pw, 'balance': 3000})print('恭喜您注册成功!')return True  # 退出整个函数def login():while True:un = input('请输入您的用户名:【登陆】')pw = input('请输入您的密码:【登陆】')for user in user_list:if user['user'] == un and user['password'] == pw: # 这就说明用户名和密码输入正确print('恭喜您登陆成功!')global current_usercurrent_user = userreturnelse:print('用户名或密码错误!')def check_balance():if current_user:  # 代表当前已经登陆print('当前用户的余额为:', current_user['balance'])else:print('请先登陆后再进行查询余额操作!')def depoisit():if current_user:money = int(input('请输入您要存款的金额:'))if money[-2:] == '00' and len(money) > 2:  # 说明输入的是100的整数倍current_user['balance'] += int(money)print('恭喜存款成功,当前余额为:', current_user['balance'])else:print('您的存款金额格式不正确,请检查后再操作')else:print('您尚未登陆,请登陆后再进行相关操作!')def withdraw():if current_user:money = input('请输入您要取款的金额:')if money[-2:] == '00' and len(money) > 2:  # 说明输入的是100的整数倍if current_user['balance'] >= int(money):current_user['balance'] -= int(money)print('恭喜您取款成功,当前余额为:', current_user['balance'])else:print('您的余额不足!')else:print('您的存款金额格式不正确,请检查后再操作')else:print('您尚未登陆,请登陆后再进行相关操作!')def transfer():if current_user:to_user = input('请输入对方的账号:')if current_user['user'] == to_user:print('不能自己给自己转账,请检查后再操作')else:for user in user_list:if user['user'] == to_user:  # 说明找到了一个有效的转账用户money = input('请输入您要转账的金额:')if money[-2:] == '00' and len(money) > 2:  # 说明输入的是100的整数倍if current_user['balance'] >= int(money):current_user['balance'] -= int(money)  # 自己账户余额减少user['balance'] += int(money)          # 对方账户余额增加print('恭喜您转账成功,当前余额为:', current_user['balance'])else:print('您的余额不足,无法转账,赶紧去搬砖吧!')else:print('您的存款金额格式不正确,请检查后再操作')breakelse:print('对方账户不存在,请检查后再操作!')else:print('您尚未登陆,请登陆后再进行相关操作!')def get_menu():menu = '''******欢迎来到WoniuATM****************请选择操作菜单**************1. 注册 2. 登录 3. 查询余额 4. 存款 5. 取款  6.转账  7.取卡  ***'''while True:print(menu)option = input('请输入您要操作的菜单:')if option == '1':reg()elif option == '2':login()elif option == '3':check_balance()elif option == '4':depoisit()elif option == '5':withdraw()elif option == '6':transfer()elif option == '7':print('感谢您的使用,欢迎下次再来!')breakelse:print('选择菜单项错误,请重新选择!')get_menu()

总结

例如:以上就是今天要分享的内容,本文仅仅简单介绍了如何去写一个面向对象编程,里面用到了很多python的基本语法,同时要注意代码格式缩进和一些代码逻辑的实现。有问题的话欢迎留言。

python简单编程--ATM银行管理系统相关推荐

  1. 为银行设计ATM菜单C语言,ATM银行管理系统代码及程序c语言课程设计【荐】.doc

    ATM银行管理系统代码及程序c语言课程设计[荐].doc #include #include #include #include struct bank{ int account; char name ...

  2. python简单编程-编程中最简单的语言Python,这样学或许更容易

    最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...

  3. python简单编程例子-中文方便就用中文编程!Python图形界面开发实例

    原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...

  4. python简单编程例子-python简单实例训练(21~30)

    注意:我用的python2.7,大家如果用Python3.0以上的版本,请记得在print()函数哦!如果因为版本问题评论的,不做回复哦!! 21.题目:将一个正整数分解质因数.例如:输入90,打印出 ...

  5. python简单编程代码表白,Python简单编程游戏代码

    什么是python编程 Python是一门新兴的编程语言,编程语言有很多,比如C++.Java.C#.PHP.JavaScript等,Python也是其中之一,在学习Python前,我们需要对它有一定 ...

  6. python简单编程例子-Python入门 —— 用pycharm写一个简单的小程序3

    环境:Win10操作系统:Python3.7:Pycharm 题目来源:PTA 编程实例1:日期格式化 世界上不同国家有不同的写日期的习惯.比如美国人习惯写成"月-日-年",而中国 ...

  7. python简单编程例子-Python实现的简单万年历例子分享

    #!/usr/bin/env python2 #-*- coding:utf-8 -*- __author__ = 'jalright' """ 使用python实现万年 ...

  8. Python简单实现ATM自动存取款机

    # ATM后台数据库 id cipher name money  ATMDataBase = [     {'id':'001','cipher':'123456','name':'张三','mone ...

  9. Python简单实现学生成绩管理系统

    基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生 ...

  10. Java基础课程设计-模拟ATM银行管理系统《控制台版本》

     博主介绍:✌公司项目主程.全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,CSDN博客之星TOP100.掘金/华为云/阿里云/InfoQ等平台优质作者.专 ...

最新文章

  1. GIT之git及git服务搭建
  2. 【拥抱大厂系列】百度面试官问过的 “JVM内存分配与回收策略原理”,我用这篇文章搞定了
  3. 团队竞争力有多强,你的企业就能走多远
  4. node.js ejs_如何在Node.js应用程序中使用EJS模板
  5. android状态栏背景色和图标颜色更改总结
  6. 少年Vince之遐想
  7. Html中文字过多,单行超出和多行超出显示省略号
  8. Nosql部署集群环境创建 Redis 集群管理集群
  9. java简历项目经验范文
  10. 零基础必看的Html5+Css3+移动端前端教程(一)
  11. 下载精确卫星星历文件 2015.3.31
  12. 怎么用表格做出html网页,用表格制作网页
  13. 初学者入门编程最开始要学什么?
  14. 我努力了十年,才让我的老婆不上班
  15. c语言栈训练题目:括号匹配
  16. 管理学二(学习、遵守规则与沟通的重要性)
  17. 关于Selenium启动Chrome浏览器闪退问题
  18. Python : Beautiful Soup修改文档树
  19. 那些虐哭过你的大学数学课都有什么用处?看完后恍然大悟!
  20. 如何发挥公证在知识产权保护中的作用

热门文章

  1. 网络安全保障体系有哪些?网络安全保障需要如何实施?
  2. 1分钟教你破解风行电视禁止安装应用!
  3. iOS开发1小时快速入门
  4. IT服务管理流程控制的绩效指标 KPI
  5. 大数据的处理之数据的抽取
  6. WP全新COS美女写真网站整站源码+两套下载站模板
  7. java文字水印模糊_Java添加文字水印和图片水印
  8. [RE]如何调整堆栈平衡
  9. 基于Rsoft的Beamprop模块进行光电子自聚焦透镜设计
  10. 《MATLAB智能算法超级学习手册》一一1.5 简单工程应用分析