python简单编程--ATM银行管理系统
由于最近刚接触了python这门编程语言,所以今天就来给大家分享一下如何用python去写一个简单的ATM银行管理系统。
目录
一、ATM功能
- 注册
登录
查询余额
存款
取款
二、完整代码
一、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银行管理系统相关推荐
- 为银行设计ATM菜单C语言,ATM银行管理系统代码及程序c语言课程设计【荐】.doc
ATM银行管理系统代码及程序c语言课程设计[荐].doc #include #include #include #include struct bank{ int account; char name ...
- python简单编程-编程中最简单的语言Python,这样学或许更容易
最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...
- python简单编程例子-中文方便就用中文编程!Python图形界面开发实例
原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...
- python简单编程例子-python简单实例训练(21~30)
注意:我用的python2.7,大家如果用Python3.0以上的版本,请记得在print()函数哦!如果因为版本问题评论的,不做回复哦!! 21.题目:将一个正整数分解质因数.例如:输入90,打印出 ...
- python简单编程代码表白,Python简单编程游戏代码
什么是python编程 Python是一门新兴的编程语言,编程语言有很多,比如C++.Java.C#.PHP.JavaScript等,Python也是其中之一,在学习Python前,我们需要对它有一定 ...
- python简单编程例子-Python入门 —— 用pycharm写一个简单的小程序3
环境:Win10操作系统:Python3.7:Pycharm 题目来源:PTA 编程实例1:日期格式化 世界上不同国家有不同的写日期的习惯.比如美国人习惯写成"月-日-年",而中国 ...
- python简单编程例子-Python实现的简单万年历例子分享
#!/usr/bin/env python2 #-*- coding:utf-8 -*- __author__ = 'jalright' """ 使用python实现万年 ...
- Python简单实现ATM自动存取款机
# ATM后台数据库 id cipher name money ATMDataBase = [ {'id':'001','cipher':'123456','name':'张三','mone ...
- Python简单实现学生成绩管理系统
基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生 ...
- Java基础课程设计-模拟ATM银行管理系统《控制台版本》
博主介绍:✌公司项目主程.全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,CSDN博客之星TOP100.掘金/华为云/阿里云/InfoQ等平台优质作者.专 ...
最新文章
- GIT之git及git服务搭建
- 【拥抱大厂系列】百度面试官问过的 “JVM内存分配与回收策略原理”,我用这篇文章搞定了
- 团队竞争力有多强,你的企业就能走多远
- node.js ejs_如何在Node.js应用程序中使用EJS模板
- android状态栏背景色和图标颜色更改总结
- 少年Vince之遐想
- Html中文字过多,单行超出和多行超出显示省略号
- Nosql部署集群环境创建 Redis 集群管理集群
- java简历项目经验范文
- 零基础必看的Html5+Css3+移动端前端教程(一)
- 下载精确卫星星历文件 2015.3.31
- 怎么用表格做出html网页,用表格制作网页
- 初学者入门编程最开始要学什么?
- 我努力了十年,才让我的老婆不上班
- c语言栈训练题目:括号匹配
- 管理学二(学习、遵守规则与沟通的重要性)
- 关于Selenium启动Chrome浏览器闪退问题
- Python : Beautiful Soup修改文档树
- 那些虐哭过你的大学数学课都有什么用处?看完后恍然大悟!
- 如何发挥公证在知识产权保护中的作用