import time
import random
class Users():
#注册开户,输入基本信息
def zhuce(self):
name = input('请输入你的名字:')
phone = int(input("电话:"))
idcard = int(input("身份证号码:"))
#调用Card的静态方法随机生成卡号
iccard = int(Card.randomcard())
# 调用Card的静态方法输入密码
psw = Card.s_psd()
mon = int(input('请输入你的钱:'))
print("你的卡号为%d 密码:%d 金额:%d"%(iccard,psw,mon))
#将相对应的信息存储到字典里
dict_m ={iccard:mon}
dict_c = {iccard:psw}
dict_n = {name: [phone,idcard,psw]}
Atm.dict1.update(dict_c)
Atm.dict2.update(dict_n)
Atm.dict3.update(dict_m)
print(Atm.dict2)
class Card():
@staticmethod
def randomcard():
iccard_s = random.choices(['1','2','3','4','5','6','7','8','9'],k=6)
iccard = ''.join(iccard_s)
return iccard
@staticmethod
def s_psd():
s = int(input('请输入你的密码:') )
return s
class Atm():
#存卡和密码
dict1 = {}
#信息
dict2 = {}
#卡和钱
dict3 = {}
#初始化选择功能
def select(self):
print('''
**********************
* *
* welcome to bank *
* *
**********************
''')
time.sleep(1)
print('''
**********************
* 1.登陆 2.开户 *
* 3.查询 4.取款 *
* 5.存款 0.退出 *
* 6.转账 7.改密 *
**********************
''')
num = int(input("请选择服务项目:"))
return num
#开户的功能
def openc(self):
#创建一个用户
a = Users()
#用户调用成员方法在User类中
a.zhuce()
def login(self):
while True:
num = self.select()
if num == 1:
card = int(input('请输入你的卡号:'))
psw = int(input('请输入你的密码:'))
print(Atm.dict1)
#判断是否存在字典里,不存在则登录不了,登录不了无法进行其他操作
if card in Atm.dict1:
if Atm.dict1.get(card) == psw:
print("登录成功")
#对功能进行循环
while True:
num =self.select()
if num==1 or num ==2:
print('您已经登录')
elif num == 3:
#查询字典的值
cnum = Atm.dict3.get(card)
print('查询成功',cnum)
elif num == 4:
print('取款')
qnum = int(input('请输入你要取款的金额:'))
Atm.dict3[card] -=qnum
print('您现在的余额为:',Atm.dict3[card])
print(Atm.dict3)
elif num == 5:
print('存款')
qnum = int(input('请输入你要存款的金额:'))
Atm.dict3[card] += qnum
print('您现在的余额为:', Atm.dict3[card])
print(Atm.dict3)
#必须要有两个账号,不然无法转账
elif num == 6:
zhanghao = int(input('请输入要转账的号码:'))
znum = int(input('请输入要转账的金额:'))
Atm.dict3[card]-=znum
Atm.dict3[zhanghao] +=znum
print(Atm.dict3)
print('转账成功')
elif num == 7:
print('更改密码')
m = int(input('请输入新密码:'))
Atm.dict1[card]=m
print('密码更改成功')
print(Atm.dict1)
elif num == 0:
print('退出系统')
return
else:
print("卡号或密码错误")
else:
print('卡号不存在,请注册')
elif num == 2:
self.openc()
elif num == 0:
print('退出系统')
return
else:
print('抱歉你没有登录,请登录')
if __name__ == '__main__':
#创建一个Atm机子
r = Atm()
#开始登录
r.login()
python 面向对象ATM,不用数据库版本
最新推荐文章于 2021-01-30 02:39:59 发布