python ATM机 案例代码
利用目前学的流程控制写的
'''
ATM机
需求:
1.登陆
输入账号输入密码
每日只有3次登陆密码错误的机会,超过3次禁止登陆
2.查询余额
3.存款
4.取款
5.转帐
6.退出
'''
infos = [
{'name':'jack','pwd':'123','yue':0},
{'name':'bran','pwd':'123','yue':0},
{'name':'egon','pwd':'123','yue':0},
]
# 禁止登陆
ban = False
# 登陆状态
login_state = False
# 账号密码错误次数
login_num = 0
# 菜单 choice
choice = 0
# 输入的用户名
name = ''
# 输入的密码
pwd = ''
# 余额
yue = 0
while ban == False:
# 登陆
while login_state == False:
# 登陆
name = input('请输入账号:')
pwd = input('请输入密码:')
# 查询账号密码是否正确
for info in infos:
if name == info['name'] and pwd == info['pwd']:
print('登陆成功!')
login_state = True
yue = info['yue']
break
# 如果没有账号密码不正确则 运行下面的代码
if login_state == False:
login_num += 1
print('账号密码错误!请重新输入!剩余次数 %s' % (3 - login_num))
if login_num == 3:
print('今日登陆错误次数超限,请明日再来')
ban = True
break
# 打印菜单
if login_state == True and choice == 0:
print('''
1 查询
2 存款
3 转帐
4 取款
5 退出
''')
choice = int(input('请输入操作状态:'))
# 查询
if login_state == True and choice == 1:
print('%s 账户的余额为 %s ¥' % (name,yue))
choice = 0
# 存款
if login_state == True and choice == 2:
money = int(input('请输入你的金额:'))
for info in infos:
if name == info['name']:
info['yue'] += money
yue += money
print('%s 账户存入 %s ¥' % (name,money))
choice = 0
# 转帐:
if login_state == True and choice == 3:
to_state = 0 # 1:成功 2:余额不足
to_num = 0
while to_state == 0:
to_name = input('请输入转入的用户名:')
# 判断 用户是否存在
for info in infos:
if to_name == info['name']:
money = int(input('请输入转帐的金额:'))
# 判断自己账户的金额是否足够
if yue >= money:
info['yue'] += money
yue -= money
print('你给 %s 用户成功转入 %s ¥'%(to_name,money))
to_state = 1
break
else:
print('你的余额不足,请充值后再转帐')
to_state = 2
if to_state == 1:
break
elif to_state == 2:
break
else:
to_num += 1
print('你输入的用户不存在,请重新输入:')
choice = 0
# 取款
if login_state == True and choice == 4:
money = int(input('请输入你的取款金额:'))
# 判断输入的金额是否小于等于余额
if money <= yue:
print('请再出钞口取钞票吧!')
yue -= money
choice = 0
else:
print('你输入的金额大于你的余额,无法取款!')
# 退出
if login_state == True and choice == 5:
break
python ATM机 案例代码的更多相关文章
- ATM机运行代码
实现代码: import java.util.Scanner; public class Atm { public static void main(String[] args) { // TODO ...
- Python(ATM机low版)
import osclass ATM: @staticmethod def regst(): while 1: nm = input('请输入你的名字:') mm = input('请输入你的密码:' ...
- 简单的小程序实现ATM机操作
简单的小程序实现ATM机操作 代码如下: package Day06; import java.util.Scanner; public class TestAccount { public stat ...
- 简易ATM机
简易ATM机(代码如下): /* * 功能:简易银行系统 */package day8; import java.util.Scanner; /** * * @FengYan Huang Admini ...
- 模块购物商城和ATM机代码:
http://outofmemory.cn/python/video/let-us-python/ python为程序员服务 快来加入群[python爬虫交流群](群号570070796),发现精彩 ...
- python实现atm机基本操作及购物车
一.需求分析 ATM机要为用户提供转账,提现,还款,付款,消费流水,操作记录等操作接口 ATM机要为管理员提供创建用户,冻结解冻,修改额度的功能 ATM机管理员认证使用装饰器来实现 购物车要提供管理员 ...
- python模块使用案例
python模块使用案例 一.使用MySQLdb模块代码示例: # 导入 MySQLdb模块 import MySQLdb # 和服务器建立链接,host是服务器ip,我的MySQL数据库搭建在本机, ...
- 模拟ATM机银行系统
淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处 ...
- python + hadoop (案例)
python如何链接hadoop,并且使用hadoop的资源,这篇文章介绍了一个简单的案例! 一.python的map/reduce代码 首先认为大家已经对haoop已经有了很多的了解,那么需要建立m ...
随机推荐
- mahout处理路透社语料步骤,转换成须要的格式
首先下载路透社语料(百度就能够下载): 然后上传Linux 并解压到指定文件夹.Tips:此处我放在可 /usr/hadoop/mahout/reutersTest/reuters tar -zxvf ...
- HMACSHA256 Class
https://msdn.microsoft.com/en-us/library/system.security.cryptography.hmacsha256(v=vs.110).aspx Comp ...
- “DNS隧道”盗号木马分析——类似hjack偷密码然后利用dns tunnel直传数据发送出去
摘自:http://www.freebuf.com/articles/network/38276.html# 运行后不断监控顶端窗口,一旦发现为QQ,就弹出一个自己伪造的QQ登陆窗口,诱导用户输入密码 ...
- zzulioj--1089--make pair(dfs+模拟)
1809: make pair Time Limit: 1 Sec Memory Limit: 128 MB Submit: 60 Solved: 44 SubmitStatusWeb Board ...
- Python: PS 图层混合算法汇总
本文用 Python 实现了PS 中的图层混合算法,把很多常见的图层混合算法都汇总到了一起,比起以前写的算法,就是用矩阵运算代替了很耗时的for 循环,运行效率有所提升.具体的代码如下: import ...
- C++中explicit关键字作用
explicit是c++中不太常用的一个关键字,其作用是用于修饰构造函数,告诉编译器定义对象时不做隐式转换. 举例说明: include <iostream> include <st ...
- CloudFoundry 云平台部署
CloudFoundry云平台部署 CloudFoundry(TheOpenSourceCloudOperatingSystem)距离发布已经一年多了作为第一个开源的PaaS平台日臻成熟.在这一年里C ...
- lunix 安装使用mongo
一.下载安装mongo版本客户端 1.进入mongo官网选择需要的版本号: https://www.mongodb.com/download-center/community(官网网址) 2.选择下载 ...
- OpenJDK源码研究笔记(十一):浅析Javac编译过程中的抽象语法树(IfElse,While,Switch等语句的抽象和封装)
浅析OpenJDK源码编译器Javac的语法树包com.sun.source.tree. 抽象语法树,是编译原理中的经典问题,有点难,本文只是随便写写. 0.赋值语句 public interface ...
- iOS项目开发实战——学会使用TableView列表控件(二)
要在iOS开发中使用TableView列表控件,不仅能够直接使用TableViewController作为整个主界面,并且还能够使用TableView控件来实现.使用TableView能够进行很多其它 ...