Python 小案例实战 —— 简易银行存取款查询系统

涉及知识点

  • 包的调用
  • 字典、列表的混合运用
  • 列表元素索引、追加
  • 基本的循环与分支结构

源码

import sys
import time bank = {
'users':['Tom','Jack'],
'pwd': ['1701', '1702'],
'money':[1000,2000],
'history':[[],[]]
} while True:
user_now_name = str(input("欢迎使用本系统!请输入您的用户名:\n"))
if user_now_name in bank['users']:
user_index = bank['users'].index(user_now_name)
# print('尊敬的', user_now_name, '您好!')
while True:
user_now_pwd = str(input("请输入您的密码:\n"))
if user_now_pwd == bank['pwd'][user_index]:
print('登录成功!')
isLogin = True
bank['history'][user_index].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ' 登陆系统')
break
else:
print('密码错误,请重试!\n')
break
else:
print('抱歉,不存在该用户!\n') while isLogin:
print('\n请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡')
service_num = int(input())
if service_num == 1:
money_out = int(input('请输入取款金额:'))
if money_out > 0 and money_out < int(bank['money'][user_index]):
bank['money'][user_index] = int(bank['money'][user_index]) - money_out
print('当前剩余存款:', bank['money'][user_index])
bank['history'][user_index].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ' 取款' + str(money_out))
else:
print('当前余额不足!!')
elif service_num == 2:
money_in = int(input('请输入存款金额:'))
if money_in < 0:
print('存款金额必须大于0')
else:
bank['money'][user_index] = int(bank['money'][user_index]) + money_in
print('当前剩余存款:', bank['money'][user_index])
bank['history'][user_index].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ' 存款' + str(money_in))
elif service_num == 3:
for record in bank['history'][user_index]:
print(record)
elif service_num == 4:
bank['history'][user_index].append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ' 退出系统')
break

运行测试结果

欢迎使用本系统!请输入您的用户名:
GShang
抱歉,不存在该用户! 欢迎使用本系统!请输入您的用户名:
Tom
请输入您的密码:
1702
密码错误,请重试! 请输入您的密码:
1701
登录成功! 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
1
请输入取款金额:1200
当前余额不足!! 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
1
请输入取款金额:200
当前剩余存款: 800 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
2
请输入存款金额:800
当前剩余存款: 1600 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
1
请输入取款金额:1700
当前余额不足!! 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
1
请输入取款金额:100
当前剩余存款: 1500 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
3
2019-12-20 10:40:47 登陆系统
2019-12-20 10:40:57 取款200
2019-12-20 10:41:01 存款800
2019-12-20 10:41:14 取款100 请选择您要办理的业务:1.取款,2.存款,3.查询,4.退卡
4 Process finished with exit code 0

最新文章

  1. (转)内置系统账户:Local system/Network service/Local Service 区别
  2. Java 对象拷贝方式
  3. ubuntu12.04静态ip设置问题
  4. 为什么mysql设置了密码之后,本地还可以直接访问,不需要输入密码就可以登录数据库了?
  5. 0c-38-ARC快速入门
  6. BZOJ2253: [2010 Beijing wc]纸箱堆叠
  7. 1003: [ZJOI2006]物流运输trans
  8. HDU2017JAVA
  9. FAT32,NTFS,EXT3,支持的最大分区和单个文件大小?
  10. linux下的webserver BOA及CGIC库的使用指南(转帖)
  11. css的绝对定位
  12. swift3.0 hello swift(1)
  13. 关于ajax post请求,参数过大产生的问题解决 Java
  14. mysql数据库的安装及体系说明
  15. 二叉查找树(BST)的实现
  16. 【Spark篇】---SparkStream初始与应用
  17. 通过maven-assembly-plugin将Springboot项目打包成tar.gz压缩包,在Linux环境可执行脚本直接安装成系统服务
  18. ThreadPoolExcutor 线程池 异常处理 (下篇)
  19. Steeltoe之Service Discovery篇
  20. Android-Genymotion Unable to load VirtualBox engine

热门文章

  1. C++ delete 和 delete []的区别
  2. c# Winform 继承窗体 无法拖动修改控件大小
  3. Python爬取上交所一年大盘数据
  4. django10-form表单组件
  5. LeetCode题解001:两数之和
  6. 设置view的layer属性方法
  7. Linux中LVM逻辑卷管理
  8. 【JavaWeb】EL表达式
  9. python生产者和消费者模式实现(三)进程池方式
  10. ms sql事务输出错误