linux怎么查看本机内存大小
342
2022-09-24
python面向对象实现简易银行管理员页面系统【导入自定义模块】
main.py
'''人类名:Person属性:姓名 身份证号 电话 卡行为:卡类名:Card属性:卡号 密码 余额行为:银行类名:Bank属性:用户列表 提款机提款机类名:ATM属性:用户字典行为:开户 查询 取款 存储 转账 改密 锁定 解锁 补卡 销户界面类名:View属性:行为: 管理员界面 系统功能界面 管理员登陆'''import timeimport pickleimport osfrom view import Viewfrom atm import ATMdef main(): # 用户管理员开机功能 view = View() # 管理员开机 view.printAdminView() if view.adminOption(): return -1 #存储用户所有的信息 # allUser = {} #提款机对象 filepath = os.path.join(os.getcwd(), "allUsers.txt") f = open(filepath,"rb") allUsers = pickle.load(f) # allUsers = {} atm = ATM(allUsers) print(allUsers) while 1: view.sysFunctionView() #等待用户的操作 option = input("请输入您的操作:") if option =="1": atm.creatUser() # print("开户") elif option == "2": atm.serchUserInfo() elif option == "3": atm.getMoney() print("取款") elif option == "4": print("存款") elif option =="5": print("转账") elif option == "6": print("改密") elif option == "7": atm.lockUser() elif option == "8": atm.unlockUser() elif option == "9": print("补卡") elif option == "0": print("销户") elif option == "T": print("退出") if not view.adminOption(): #将信息保留到文件中 # filepath = os.path.join(os.getcwd(),"allUsers.txt") f= open(filepath,"wb") pickle.dump(atm.allUsers,f) f.close() return -1 time.sleep(2)if __name__ =="__main__": main()
atm.py
from card import Cardfrom user import Userimport randomclass ATM (object): def __init__(self,allUsers): self.allUsers = allUsers def creatUser(self): #目标:想用户字典中添加一对键值对(卡号-用户) name = input("请输入您的姓名:") idCard = input("请输入您的身份证号码:") phone = input("请输入您的电话号码:") prestoreMoney = int(input("请输入预存款金额:")) if prestoreMoney<0: print("输入金额有误!!开户失败") return -1 onePasswd = int(input("请设置密码")) #验证密码 if not self.checkPasswd(onePasswd): print("密码输入错误输入失败") return -1 #所有需要的信息就全了 cardStr = self.randomCardId() card = Card(cardStr,onePasswd,prestoreMoney) user= User(name,idCard,phone,card) #存到字典 self.allUsers[cardStr] = user print("开户成功!!请牢记卡号%s!!"%cardStr) #验证密码 def checkPasswd(self,realPasswd): for i in range(3): tempPasswd = int(input("请输入密码:")) if tempPasswd == realPasswd: return True return False #生成卡号 def randomCardId(self): while True: str = "" for i in range(6): ch = chr(random.randrange(ord('0'), ord('9') + 1)) str += ch # 判断是否重复 if not self.allUsers.get(str): return str def serchUserInfo(self): cardNum = input("请输入您要查询的卡号:") user= self.allUsers.get(cardNum) if not user: print("该卡号不存在,查询失败。") return -1 #验证密码 if not self.checkPasswd(user.card.cardPasswd): print("密码输入错误!!查询失败") return -1 print("账号:%s,余额:%d"%(user.card.cardId,user.card.cardMoney)) def getMoney(self): cardNum = input("请输入您要查询的卡号:") user = self.allUsers.get(cardNum) if not user: print("该卡号不存在,取款失败。") return -1 # 判断是否锁定 if user.card.cardLock: print("该卡已被锁定,请解锁后进行其他操作") return -1 # 验证密码 if not self.checkPasswd(user.card.cardPasswd): print("密码输入错误!!已被锁定解锁后进行其他操作") user.card.cardLock = True return -1 #取款 money =int(input("请输入取款金额")) if money> user.card.cardMoney: print("余额不足") return -1 if money<0: print("输入错误") return -1 user.card.cardMoney-=money print("取款成功余额为:%d"%user.card.cardMoney) def saveMoney(self): pass def transforMoney(self): pass def changePasswd(self): pass def lockUser(self): cardNum = input("请输入您要查询的卡号:") user = self.allUsers.get(cardNum) if not user: print("该卡号不存在,锁定失败。") return -1 # if user.card.cardLock: # print("该卡号已被锁定!请解锁后再使用其他功能") # return -1 #判断是否锁定 if user.card.cardLock: print("该卡已被锁定,请解锁后进行其他操作") return -1 # 验证密码 if not self.checkPasswd(user.card.cardPasswd): print("密码输入错误!!锁定失败") user.card.cardLock = True return -1 print("账号:%s,余额:%d" % (user.card.cardId, user.card.cardMoney)) tempIdCard = input("请输入您的身份证号:") if tempIdCard!=user.idCard: print("身份证输入错误!!锁定失败") return -1 #锁他 user.card.cardLock= True print("锁定成功") def unlockUser(self): cardNum = input("请输入您要解锁的卡号:") user = self.allUsers.get(cardNum) if not user: print("该卡号不存在,解锁失败。") return -1 if not user.card.cardLock: print("该卡没有锁定!无需解锁。") return -1 # 验证密码 if not self.checkPasswd(user.card.cardPasswd): print("密码输入错误!!锁定失败") return -1 #解锁、 user.card.cardLock = False print("解锁成功!") def newCard(self): pass def killUser(self): pass
card.py
class Card(object): def __init__(self,cardId,cardPasswd,cardMoney): self.cardId = cardId self.cardPasswd = cardPasswd self.cardMoney= cardMoney self.cardLock = False
user.py
class User(object): def __init__(self,name,idCard,phone,card): self.name = name self.idCard = idCard self.phone = phone self.card = card
view.py
import timeclass View(object): admin= "1" passwd = "1" # def __init__(self,admin): # self.__admin = admin def printAdminView(self): print("************************************************") print("* *") print("* *") print("* 欢迎登陆旺哥银行 *") print("* *") print("* *") print("************************************************") # inputAdmin = input("请输入管理员账号:") # if self.admin !=inputAdmin: # print("输入有误") # return -1 # inputPasswd = input("请输入管理员密码:") # if self.passwd !=inputPasswd: # print("输入有误") # return -1 def adminOption(self): inputAdmin = input("请输入管理员账号:") if self.admin != inputAdmin: print("输入有误") return -1 inputPasswd = input("请输入管理员密码:") if self.passwd != inputPasswd: print("输入有误") return -1 #能执行到这里说明账号密码正确 print("操作成功!请稍后。。。") time.sleep(2) return 0 def sysFunctionView(self): print("************************************************") print("* 开户(1) 查询(2) *") print("* 取款(3) 存款(4) *") print("* 转账(5) 改密(6) *") print("* 锁定(7) 解锁(8) *") print("* 补卡(9) 销户(0) *") print("* 退出T *") print("************************************************")
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~