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第一次上机作 ...
随机推荐
- OpenMP初探
OpenMP支持c.cpp.fortran,本文对比使用openmp和未使用openmp的效率差距和外在表现,然后讲解基础知识. 一.举例 1.使用OpenMP与未使用OpenMP的比较. OpenM ...
- Android 爬坑之路
java.lang.ClassCastException: android.app.Application cannot be cast to com.example.lbsdemo.TrackApp ...
- 使用crypt配置Basic Auth登录认证
简介 Basic Auth用于服务端简单的登录认证,通常使用服务器Nginx.Apache本身即可完成.比如我们要限定某个域名或者页面必须输入用户名.密码才能登录,但又不想使用后端开发语言,此时Bas ...
- Dockerfile指令详解
Dockerfile中包括FROM.MAINTAINER.RUN.CMD.EXPOSE.ENV.ADD.COPY.ENTRYPOINT.VOLUME.USER.WORKDIR.ONBUILD等13个指 ...
- lua脚本在游戏中的应用
为什么要在游戏中使用脚本语言? 要解释这个问题首先我们先来了解一下脚本语言的特性: 学习门槛低,快速上手 开发成本低,可维护性强 动态语言,灵活性高 相对于C/C++这类高复杂性.高风险的编译型语言来 ...
- maven package,clean,install,compile命令
1.Ideal中显示 2.各个阶段干嘛的? compile,编译命令,会在项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件 pack ...
- 将文件内容隐藏在bmp位图中
首先要实现这个功能,你必须知道bmp位图文件的格式,这里我就不多说了,请看:http://www.cnblogs.com/xiehy/archive/2011/06/07/2074405.html 接 ...
- jqGrid 翻页
比如查出来有9条数据,表格第一页显示5条,第二页显示4条 第一次查询,后台返回9条数据,但是只显示第一页的5条, 当点击下一页,会再去数据库查询,只返回第二页的4条数据, 这时候再点击回到上一页,返回 ...
- 配置IIS的负载均衡
在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统 ...
- linux图形化客户端
很多服务器都用linux 但这些linux都是没有图形化界面的, 一般也不建议在服务器上装图形化界面 我们都知道,维护linux,大部分都是使用命令 那么,为什么不能开发一个应用程序, 把图形化操作转 ...