这篇文章主要介绍了使用python3 编写简单信用卡管理程序的代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
1、程序执行代码:
#Author by Andy #_*_ coding:utf-8 _*_ import os,sys,time Base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(Base_dir) str="欢迎使用银行信用卡自助服务系统!n" for i in str: sys.stdout.write(i) sys.stdout.flush() time.sleep(0.3) while True: print("1、管理人员入口。") time.sleep(0.3) print("2、用户登录入口。") print("3、退出请按q!") choice=input(":") from core import main Exit_flag=True while Exit_flag: user_choice=main.menu(choice) if user_choice == '1': main.get_user_credit() elif user_choice == '2': main.repayment() elif user_choice == '3': main.enchashment() elif user_choice == '4': main.change_pwd() elif user_choice == '5': main.transfer() elif user_choice == '6': main.billing_query() elif user_choice == '7': print("该功能正在建设中,更多精彩,敬请期待!") elif user_choice == 'a': main.change_user_credit() elif user_choice == 'b': main.add_user() elif user_choice == 'c': main.del_user() elif user_choice == 'd': main.change_pwd() elif user_choice == 'q' or user_choice == 'Q': print("欢迎再次使用,再见!") Exit_flag = False
#Author by Andy#_*_ coding:utf-8 _* import json,sys,os,time,shutil Base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(Base_dir) #定义认证装饰器 def auth(func): def wrapper(*args,**kwargs): # print("请输入卡号和密码进行验证!") f = open(Base_dir+'data\user_db.txt', 'r') Log_file = open(Base_dir+'logslog.txt', 'a+', encoding='utf-8') Bill_log_file = open(Base_dir + 'logs\bill_log.txt', 'a+', encoding='utf-8') func_name = func.__name__ Time_formate = '%Y-%m-%d %X' start_time = time.strftime(Time_formate, time.localtime()) user_data = json.load(f) count=0 while count ') elif choice == '1': print("请选择服务类别:n" "a、修改用户信用额度。n" "b、新增信用卡用户。n" "c、删除信用卡用户。n" "d、修改用户口令。n" "e、退出请按q!n") service_items = input('-->') else: print("感谢使用,祝生活愉快!") exit() return service_items # 定义备份用户数据文件函数 def back_up_file(): Time_formate = '%Y-%m-%d' Sys_time = time.strftime(Time_formate, time.localtime()) shutil.copy(Base_dir + "data\user_db.txt", Base_dir + "data\user_db--" + Sys_time + ".bak.txt") #定义获取用户数据信息函数 def get_user_data(): with open(Base_dir + "data\user_db.txt", 'r+',encoding='utf-8') as f: user_data = json.load(f) return user_data #定义用户数据变量 user_data = get_user_data() #定义查询信用额度函数 @auth def get_user_credit(): user_credit=user_data[user_id]['Credit'] print("您目前的信用额度为:%s元n" %(user_credit)) time.sleep(2) return user_credit #定义信用卡还款函数 @auth def repayment(): user_data = get_user_data() user_credit=int(user_data[user_id]['Credit']) user_balance=int(user_data[user_id]['Balance']) user_bill = user_credit - user_balance print("您目前需要还款金额为:%s元.n" %user_bill) Exit_flag=True while Exit_flag: repayment_value=input("请输入还款金额:") if repayment_value.isdigit(): repayment_value=int(repayment_value) user_data[user_id]['Balance'] = user_data[user_id]['Balance'] + repayment_value f = open(Base_dir + "data\user_db.txt", 'r+', encoding='utf-8') json.dump(user_data, f) f.close() print("恭喜,还款成功!") print("您目前需要还款金额为:%s元.n" % (user_data[user_id]['Credit'] - user_data[user_id]['Balance'])) time.sleep(1) Exit_flag = False return repayment_value else: print("请输入正确的金额!") #定义信用卡提现函数 @auth def enchashment(): user_credit=user_data[user_id]['Credit'] print("你可用的取现额度为:%s" %user_credit) Exit_flag=True while Exit_flag: enchashment_value=input("请输入您要取现的金额:") if enchashment_value.isdigit(): enchashment_value=int(enchashment_value) if enchashment_value % 100 == 0: if enchashment_value
{"003": {"Name": "wangwu", "Password": "qazwsx", "Credit": 16000, "Balance": 8000}, "004": {"Name": "zhaoliu", "Password": "edcrfv", "Credit": 18000, "Balance": 6000}, "002": {"Name": "lisi", "Password": "123456", "Credit": 14000, "Balance": 10000}, "009": {"Password": "qwerty", "Name": "hanmeimei", "Credit": 15000, "Balance": 15000}, "005": {"Name": "fengqi", "Password": "1234qwer", "Credit": 15000, "Balance": 10700}, "010": {"Name": "lilei", "Password": "qaswed", "Credit": 50000, "Balance": 50000}, "008": {"Name": "zhengshi", "Password": "123456", "Credit": 12345, "Balance": 12345}, "006": {"Name": "zhouba", "Password": "123456", "Credit": 20000, "Balance": 8300}, "001": {"Name": "zhangsan", "Password": "abcd1234", "Credit": 12000, "Balance": 12000}, "007": {"Name": "wujiu", "Password": "123456", "Credit": 20000, "Balance": 11243}}
4、相关日志内容:
登录日志:
2016-12-20 22:12:18 卡号 005 认证成功!
2016-12-20 22:14:20 卡号 005 认证成功!
2016-12-20 22:17:26 卡号 006 认证成功!
2016-12-20 22:18:06 卡号 005 认证成功!
2016-12-20 22:18:06 卡号 006 认证成功!
2016-12-20 22:21:10 卡号 005 认证失败!
2016-12-20 22:21:10 卡号 006 认证成功!
2016-12-20 22:23:17 卡号 006 认证成功!
2016-12-20 22:25:33 卡号 006 认证成功!
2016-12-20 22:26:14 卡号 006 认证成功!
2016-12-20 22:32:15 卡号 006 认证成功!
2016-12-20 22:44:57 卡号 005 认证成功!
2016-12-20 22:45:50 卡号 006 认证成功!
2016-12-20 22:47:10 卡号 006 认证成功!
2016-12-20 22:48:27 卡号 006 认证成功!
2016-12-20 22:49:30 卡号 006 认证成功!
2016-12-20 22:52:13 卡号 006 认证成功!
2016-12-20 22:53:44 卡号 006 认证成功!
交易日志:
2016-12-20 21:25:35 卡号 006 发起 repayment 业务,金额为: 100
2016-12-20 21:27:01 卡号 005 发起 repayment 业务,金额为: 100
2016-12-20 22:14:20 卡号 005 发起 repayment 业务,金额为: 100
2016-12-20 22:17:26 卡号 006 发起 transfer 业务,金额为: 300
以上所述是小编给大家介绍的使用python3 编写简单信用卡管理程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程之家网站的支持!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。