ATM程序
ATM柜员机管理系统
实现功能:
1. 当用户在登陆界面输入卡号和密码能登陆;
2. 实现开户功能;
3. 与机器交互实现取款, 存款, 转账, 查询余额,
冻结账户, 修改密码等功能;
userinfo = {
"001":{
"cardid":"001",
"password":"123",
"status": 0,
"money": 10000,
}
ATM柜员机管理系统
实现功能:
1. 当用户在登陆界面输入卡号和密码能登陆;
2. 实现开户功能;
3. 与机器交互实现取款, 存款, 转账, 查询余额,
冻结账户, 修改密码等功能;
userinfo = {
"001":{
"cardid":"001",
"password":"123",
"status": 0,
"money": 10000,
}
}
具体思路解法如下:
userinfo = { "001":{ "cardid":"001", "password":"123", "status": 0, "money": 10000, } } while True : choice = input("""请输入你要进行的选择: 1).开户; 2).登录; 3).退出; 请输入你的选择:""") if choice == '1' : for id in range(100) : if id not in userinfo : s = "%.3d" %id print("你好,你的卡号为%s" %s) for pw in range(3) : passwd = input("请输入你的密码:") passwd1 = input("请再次输入你的密码:") if passwd == passwd1 : userinfo[s] = { "cardid": s, "password": passwd, "status": 0, "money": 0, } print("开户成功!") break else : if pw < 2 : print ("两次密码输入不一致,请重新输入!") elif pw == 2 : print ("尝试次数过多,请下次运行!") break elif choice == '2' : for in_id in range(3) : id_in = input("请输入你的卡号:") if id_in in userinfo: for i in range(3): passwd_in = input("请输入你的密码:") if passwd_in == userinfo[id_in]['password']: if userinfo[id_in]['status'] == 1: print("该用户已被冻结,请找工作人员解冻!") exit(0) else : print("登陆成功!") break else: if i < 2: print("密码输入错误,请重新输入!") elif i == 2: print("尝试密码超过三次,请下次登录!") exit(0) else: if in_id < 2 : print("卡号不存在,请重新输入!") elif in_id == 2 : print ("尝试次数超过三次,系统退出!") exit(0) break while True : choices = input("""请输入你要进行的选择: 1).取款; 2).存款; 3).转账; 4).查询余额; 5).冻结账户; 6).修改密码 7).退出; 请输入你的选择:""") if choices == '1' : while True : money_out = int(input("请输入你要取款的金额:")) if money_out > userinfo[id_in]['money'] : print ("余额不够,请重新输入!") else : print ("你好,一共取款%s元" %(money_out)) userinfo[id_in]['money'] -= money_out break elif choices == '2' : money_in = int(input("请输入你要存款的金额:")) userinfo[id_in]['money'] += money_in print ("存款成功!") elif choices == '3' : for z in range(3) : user_trans = input("请输入你要转账的用户:") if user_trans in userinfo : money_trans = int(input("请输入你要转账的金额:")) userinfo[id_in]['money'] -= money_trans userinfo[user_trans]['money'] += money_trans print ("转账成功!") break else : if z < 2 : print("该用户不存在,请重新输入!") if z == 2 : print ("转账失败!") elif choices == '4' : print ("你的余额为%s" %(userinfo[id_in]['money'])) elif choices == '5' : userinfo[id_in]['status'] = 1 print("冻结用户成功!") elif choices == '6' : passwd_trans = input("请输入你要修改的密码:") passwd_trans1 = input("请再次输入你要修改的密码:") for t in range(3) : if passwd_trans == passwd_trans1 : userinfo[id_in]['password'] = passwd_trans1 print ("密码修改成功!") break else : if t < 2 : print ("两次密码输入不一致,请重新输入!") if t == 2 : print ("密码修改失败!") elif choices == '7' : break else : print ("输入有误,请重新输入!") elif choice == '3' : exit(0)
实现结果如下图所示:
我们切换至转账客户,看是否转账成功:
--end