python第二十三天-----作业中
#!usr/bin/env python
#-*-coding:utf-8-*-
# Author calmyan
import os ,sys,time from core import transaction #包含记账\还钱\取现等所有的与账户金额相关的操作
from core import user_pass #用户名检测相关
from core import log_file #日志相关 def login():#开始函数
# time_format='%y-%m-%d %X'#定义时间格式
# times=time.strftime(time_format)#定义时间
print("Welcome to python ATM".center(60,'*'))
while True:
print('''================================================
1 >>>> 用户登陆.
2 >>>> 直接退出.
================================================
''') foo=input('请选择您要的操作:')
if foo=='':
_user_name= user_pass.user_pass()#将通过验证的用户名赋于变量
data=transaction.user_info(_user_name)#调用帐户查询函数
if data['状态']:
print('\033[31;1m对不起您的帐户被冻结,不能进行相关操作,请与客服联系!\033[0m')
continue
print('尊敬的:\033[32;1m%s\033[0m 欢迎登陆'.center(50,'=')%_user_name)
while True:
print(''' 欢迎使用自动ATM柜员机
1 >>> 帐户信息查询. 2 >>> 帐户转帐.
3 >>> 现金提取. 4 >>> 还款.
5 >>> 退出.
''')
options=input('请按提示操作:')
if options=='':
while True:
transaction.info_user(_user_name)##调用帐户查询函数用户操作日志,传入内容
break
elif options=='':
data=transaction.user_info(_user_name)#调用帐户查询函数
print(transaction.info_format(data))#用户信息输出格式化函数
print('欢迎使用自助转帐'.center(60,'='))
card=input('按\033[31;1mq/Q\033[0m返回 输入对方的卡号:')
if card=='q' or card=='Q':
continue
if card.isdigit():#检测输入是否为整数
card=int(card)#转为int
if card==data['id']:
print('\033[41;1m您所输入的卡号是自己卡号,请重新输入!\033[0m')
transaction.transfer(card,_user_name)##调用转帐的函数
continue
else:
print('您的输入不正确,请重新输入!')
pass elif options=='':
while True:
data=transaction.user_info(_user_name)#调用帐户查询函数
print(transaction.info_format(data))#用户信息输出格式化函数
mony=input('按\033[31;1mq/Q\033[0m返回 请输入要提现的金额:')
if mony=='q' or mony=='Q':
break
if mony.isdigit():#检测输入是否为整数
mony=int(mony)#转为int
transaction.cash(mony,_user_name)##调用取现的函数
continue
else:
print('您的输入不正确,请重新输入!')
pass
elif options=='':
while True:
data=transaction.user_info(_user_name)#调用帐户查询函数
print(transaction.info_format(data))#用户信息输出格式化函数
s_mony=data["最高额度"]-data["帐户信用余额"]
print('本期总共需要还款:要\033[31;1m%s\033[0m'%s_mony)
mony=input('按\033[31;1mq/Q\033[0m返回,请输入要还款的金额:')
if mony=='q' or mony=='Q':
break
if mony.isdigit():#检测输入是否为整数
mony=int(mony)#转为int
transaction.also_money(mony,s_mony,_user_name,data)#还款函数
pass
else:
print('您的输入不正确,请重新输入!')
pass elif options=='':
exit()
else:
continue elif foo=='':
exit()
else:
print('请按提示操作!')
pass
python第二十三天-----作业中的更多相关文章
- python第二十三课——dict中的函数
dic1 = {...} dic2 = {...} dic1.update(dic2) 1.update(dict):dic1调用update传入dic2,如果dic2中的内容在dic1中不存在,那么 ...
- 孤荷凌寒自学python第二十三天python类的封装
孤荷凌寒自学python第二十三天python类的封装 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.从怎么样访问类的内部代码块中定义的私有属性说起 类中定义的私有属性和私有方法是无法被 ...
- 关于第二次阅读作业中"银弹"“大泥球”等的个人理解
这几天时间比较充裕,就一点一点的借助英语翻译(毕竟英语不好)阅读了一下老师建议的论文作品.感觉他们的思维和我们的是不在一个角度上的,在我们看来,编写代码的任务仅仅就是实现了设计文档中的功能,而这些在课 ...
- 小甲鱼Python第二十三讲课后习题--025,字典
笔记: 1.字典是Python中唯一的映射类型 2.字典包含两个要素:键(key)和值(value)他们是成对出现的,用大括号括起来,多对存在时用逗号隔开. 3.可以用dict()直接创建字典,如di ...
- 软工实践 - 第二十三次作业 Beta 冲刺(1/7)
队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10093337.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...
- python第二十一课——str中的常用函数(重要)
演示str中常用的一些函数: 1.join():将容器对象以某种特定的格式(字符串)进行拼接组合,最后以字符串的形式返回 lt=['i','love','you','very','much'] str ...
- python第二十三天-----Tornado
Tornado是一个轻量级完整的web框架,在Linux系统下它会使用epoll,是一个异步非阻塞的web服务器框架,对于实时应用来说很理想,想想同是异步非阻塞的nginx的残暴程度就知道了 1.路由 ...
- Python 第二模块学习总结
学习总结: 1.掌握对装饰器的用法 2.掌握生成器的用法 3.掌握迭代器的用法 4.熟悉Python内置函数 5.熟悉Python shutil/shelve/configparse/hashlib/ ...
- mininet、floodlight在第一次SDN上机作业中出现的一些问题
mininet.floodlight在第一次SND上机作业中出现的一些问题 首先给出链接 VMware安装 mininet安装 floodlight安装及问题,各个版本Ubuntu SDN第一次上机作 ...
随机推荐
- 一个 react 小的 demo
一.搭建开发环境: webpack构建工具. 新建一个文件夹(login),进入根目录, 1.输入命令:cnpm init,生成了一个package.json文件,这是一个标准的npm说明文件,里面蕴 ...
- 1.Django自学课堂
1.django manage.py startproject project_name -->创建工程 2.python manage.py startapp app_name --& ...
- Java高并发之设计模式
本文主要讲解几种常见并行模式, 具体目录结构如下图. 单例 单例是最常见的一种设计模式, 一般用于全局对象管理, 比如xml配置读写之类的. 一般分为懒汉式, 饿汉式. 懒汉式: 方法上加synchr ...
- 小程序flex容器
flex:默认:水平方向是主轴,垂直方向是交叉轴,分布在第四象限,项目时在主轴方向上排列, 排满之后在交叉轴方向上换行: 1.设置容器的属性 display:flex 通过设置坐标轴来设置项目的排列方 ...
- ProxySQL+MGR实现读写分离和主节点故障无感知切换 - 完整操作记录
前面的文章介绍了ProxySQL用法,这里说下ProxySQL中间件针对Mysql组复制模式实现读写分离以及主节点故障时能够自动切换到新的主节点,而应用对此过程无感知的功能.Mysql组复制(MGR) ...
- 进程间通信IPC-信号量
semget semget函数创建一个新的信号量或是获得一个已存在的信号量键值. int semget(key_t key, int num_sems, int sem_flags); 第一个参数k ...
- utf-8的中文,一个字符占几个字节
https://blog.csdn.net/kindsuper_liu/article/details/80202150 英文字母和中文汉字在不同字符集编码下的字节数英文字母:·字节数 : 1;编码: ...
- PowerDesigner版本控制器设置权限
PowerDesigner版本控制权限之前一直在Groups里面设置,一直没有效果,原因终于找出来了,PowerDesigner是要对每个库单独赋权限的,步骤如下: 连接上版本控制,在左侧菜单 Obj ...
- 编写计算器程序学习JS责任链模式
设计模式中的责任链模式能够很好的处理程序过程的逻辑判断,提高程序可读性. 责任链模式的核心在于责任链上的元素判断能够处理该数据,不能处理的话直接交给它的后继者. 计算器的基本样式: 通过div+css ...
- DotNetCore学习-3.管道中间件
中间件是用于组成应用程序管道来处理请求和响应的组件.管道内的每个组件都可以选择是否将请求交给下一个组件,并在管道中调用下一个组件之前和之后执行一些操作. 请求委托被用来建立请求管道,并处理每一个HTT ...