ATM 程序
ATM 目前只有用户操作,数据操作暂时未做,算遗留吧,万变不理其中,都是这么操作的!
1 # -*- coding:utf-8 -*- 2 # Author:JinYu 3 4 dect_info = { 5 'name_login':'', #登录名 6 'pwd_login':'', #密码 7 'account':'', #账号 8 'login_data':'', #注册时间 9 'billing_day':'15', #账单日 10 'repayment_day':'1',#还款日 11 'status':'0', #账户状态(0活跃 1冻结) 12 'cash_balance':'0', #现金余额 13 'facility_extent':'15000',#默认透支额度15000 14 'amountin_arrears':'0',#欠款金额 15 'shopping_history':{},#购物历史 16 } 17 import json,time,json,os,sys 18 #print(time.localtime(time.time())) 19 day = time.strftime('%Y-%m-%d',time.localtime(time.time())) 20 time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) 21 print(day,time) 22 BASE_PATH = os.path.dirname(os.path.abspath(__file__)) 23 FILE_NAME = BASE_PATH+os.path.sep 24 #print(BASE_PATH) 25 26 def check(a,b,c=None): 27 if len(a) ==0 and len(b) ==0: 28 print('你输入的用户名密码不可为空!') 29 return True 30 elif len(a) ==0 and len(b) ==0 and len(c) == 0: 31 print('你输入的字段不可为空!') 32 return True 33 else: 34 return False 35 36 #用户查询 37 def login_select(): 38 count = 0 39 while True: 40 username = input('输入用户名:') 41 password = input('输入密码:') 42 if check(username,password): 43 continue 44 else: 45 with open(FILE_NAME+'creadit_history','r') as write_f: 46 flag = False 47 for line in write_f: 48 data = json.loads(line) 49 if username in data['name_login']: 50 #print(data) 51 if data['status'] == '1' : #data['name_login'] == username and 52 #print(data['status'],data['name_login'],count) 53 exit('\033[32;1m您的账号已被锁定,请到营业厅办理办理!!!\n\033[0m ') 54 #return True 55 elif count >=2: 56 #print(count+1) 57 exit('\033[32;1m您的账号多次登录,请稍后再试!!!\n\033[0m ') 58 elif username == data['name_login'] and password == data['pwd_login']: 59 print('\033[32;0m登录成功\033[0m'.center(50,'*')) 60 return True 61 else: 62 print('\033[32;1m账号密码错误,请重新输入!!\033[0m') 63 flag = True 64 continue 65 else: 66 #print(flag) 67 if flag == True: 68 count +=1 69 if flag == False: 70 print('\033[32;1m没有这个用户!!\033[0m') 71 72 #login_select() 73 74 #新增用户 75 def add_login(): 76 #import json 77 while True: 78 username = input('输入用户名:') 79 password = input('输入密码:') 80 account = input('输入账号:') 81 atm = input('输入信用卡额度:') 82 # if check(username,password,account): 83 # continue 84 # else: 85 with open(FILE_NAME+'creadit_history','r+') as write_f: 86 for line in write_f: 87 data = json.loads(line) 88 if username not in data['name_login']: 89 dect_info['name_login'] =username 90 dect_info['pwd_login'] = password 91 dect_info['account'] = account 92 if len(atm) and atm.isdecimal(): 93 dect_info['facility_extent'] = atm 94 dect_info['login_data'] =day 95 #write_f.write(json.dumps(dect_info)) 96 write_f.write(json.dumps(dect_info)+'\n') 97 write_f.flush() 98 exit('\033[32;1m新增用户成功!!\033[0m') 99 100 else: 101 exit('\033[32;1m您输入的用户已存在!!\033[0m') 102 103 #add_login() 104 105 #删除用户记录 106 def del_login(): 107 while True: 108 username = input('输入要删除的用户名:') 109 with open(FILE_NAME+'creadit_history','r') as read_f,open(FILE_NAME+'creadit_crad','w') as write_f: 110 for line in read_f: 111 data = json.loads(line) 112 #print(data) 113 if username in data['name_login']: 114 data.clear() 115 pass 116 else: 117 write_f.write(json.dumps(data)+'\n') 118 write_f.flush() 119 os.rename(FILE_NAME+'creadit_history',FILE_NAME+'creadit_history.bak') 120 os.rename(FILE_NAME+'creadit_crad',FILE_NAME+'creadit_history') 121 exit('\033[32;1m删除用户成功!!\033[0m') 122 123 #del_login() 124 125 #修改用户额度 126 def modify_login(): 127 while True: 128 username = input('输入要修改额度的用户名:') 129 with open(FILE_NAME+'creadit_history','r') as read_f,open(FILE_NAME+'creadit_crad','w') as write_f: 130 for line in read_f: 131 data = json.loads(line) 132 #print(data) 133 if username in data['name_login']: 134 atm = input('输入信用卡额度:') 135 if len(atm) and atm.isdecimal(): 136 data['facility_extent'] = atm 137 #print(data) 138 write_f.write(json.dumps(data)+'\n') 139 write_f.flush() 140 else: 141 write_f.write(json.dumps(data)+'\n') 142 write_f.flush() 143 os.rename(FILE_NAME+'creadit_history',FILE_NAME+'creadit_history.bak') 144 os.rename(FILE_NAME+'creadit_crad',FILE_NAME+'creadit_history') 145 exit('\033[32;1m修改用户额度成功!!\033[0m') 146 147 #modify_login() 148 149 #冻结用户 150 def freeze_login(): 151 while True: 152 username = input('输入要冻结的用户名:') 153 with open(FILE_NAME+'creadit_history','r') as read_f,open(FILE_NAME+'creadit_crad','w') as write_f: 154 for line in read_f: 155 data = json.loads(line) 156 #print(data) 157 if username in data['name_login']: 158 data['status'] = '1' 159 #print(data) 160 write_f.write(json.dumps(data)+'\n') 161 write_f.flush() 162 else: 163 write_f.write(json.dumps(data)+'\n') 164 write_f.flush() 165 os.rename(FILE_NAME+'creadit_history',FILE_NAME+'creadit_history.bak') 166 os.rename(FILE_NAME+'creadit_crad',FILE_NAME+'creadit_history') 167 exit('\033[32;1m用户冻结成功!!\033[0m') 168 #freeze_login()
1 # -*- coding:utf-8 -*- 2 # Author:JinYu 3 4 import os,sys 5 6 DASE_DIR = os.path.dirname(os.path.abspath(__file__)) 7 #DASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 8 #print(DASE_DIR) 9 sys.path.append(DASE_DIR) 10 from Login import * 11 12 #装饰器 13 def auth(auth_type): 14 def outer_wrapper(func): 15 def wrapper(*args,**kwargs): 16 if auth_type =='local': 17 login_select() 18 ret = func(*args,**kwargs) 19 return ret 20 elif auth_type =='ldap': 21 print('不需要登录,请直接操作!') 22 ret = func(*args,**kwargs) 23 return ret 24 return wrapper 25 return outer_wrapper 26 27 @auth(auth_type='local') 28 def index(name,age): 29 print('welcome to index page! ',name,age) 30 index('jinyu',18) 31 32 @auth(auth_type='ldap') 33 def home(): 34 print('welcome to home page!') 35 36 home()
1 # -*- coding:utf-8 -*- 2 # Author:JinYu 3 4 import os,sys 5 6 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 7 print(BASE_DIR) 8 sys.path.append(BASE_DIR) 9 10 from conf import Login 11 12 13 def login_action(): 14 Login.login_select() 15 menu_dic ={ 16 1:Login.add_login, 17 2:Login.del_login, 18 3:Login.modify_login, 19 4:Login.freeze_login, 20 21 } 22 # print(menu_dic['1']()) 23 # exit() 24 exit_flag = False 25 while not exit_flag: 26 print('\n') 27 print('\033[32;1m欢迎光临ATM电子银行用户管理系统\033[0m'.center(50,'*')) 28 print('\033[32;1m\t\t用户操作请选择以下功能项\n\t\t1,信用卡用户新增\n\t\t2,信用卡用户删除\n\t\t3,信用卡用户额度修改\n\t\t4,信用卡用户冻结\033[0m') 29 temp = int(input('请输入与功能菜单:')) 30 if temp in menu_dic: 31 print(menu_dic[temp]) 32 menu_dic[temp]() 33 else: 34 #print(menu_dic[temp]) 35 print('\033[31;1m输入的功能编号有误,请重新输入要操作的功能:\033[0m') 36 37 login_action()
posted on 2017-02-28 22:56 Baylor_Chen 阅读(180) 评论(0) 收藏 举报
浙公网安备 33010602011771号