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 ...
随机推荐
- hdu4691 Front compression(后缀数组)
Front compression Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others) ...
- mysql二进制日志文件出错导致mysql服务无法启动
今天打开phpmyadmin发现连不上mysql数据库,重新启动mysql启动不起来,查看日志发现例如以下错误 <span style="font-family:SimSun;font ...
- C#中如何获得两个日期之间的天数差
DateTime d1; DateTime d2; //自己去赋值吧 int days = (d1 - d2).Days;//天数差 label1.Text = "2012-1-1 15:3 ...
- tomcat加载web.xml
这几天看tomcat的源码,疑问很多,比如之一“ tomcat 怎么加载 web.xml”,下面是跟踪的过程,其中事件监听器有一个观察者模式,比较好.记录下来以供参考 >>>> ...
- 父子间通信四 ($dispatch 和 $broadcast用法)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- noip 2018 day1 T2 货币系统 完全背包
Code: #include<cstdio> #include<string> #include<cstring> #include<algorithm> ...
- javaScript call与apply学习笔记
call和apply是借用他人的函数实现自己到功能,具体表现在改变this指向,借用他人方法 而不同的地方是call是把实参按照形参的个数传入,而apply传入的是一个数组(argument) 写一个 ...
- python关于sorted里面key,reverse以及lamdba,operator这几个鸟人
关于sorted: help里给的解释 >>> help(sorted) Help on built-in function sorted in module __builti ...
- 紫书 习题 10-22 UVa 10479 (找规律)
自己一直在纠结这个串的构造方法 而没有观察串本身的规律-- 2的63次方用 unsigned long long 然后可以发现串是递归构造的. 将串分成1,1,2,4,8,16, 然后会发现s串里面1 ...
- 【Uva 10618】Tango Tango Insurrection
[Link]: [Description] 玩跳舞机. 有一定的约束. 归纳起来就是以下三点 1.两只脚不能同时踩一个位置 2.如果左脚踩在了右键上,那么下一次移动的一定要是左脚 3.如果右脚踩在了左 ...