python模拟银行_python练习之银行模拟系统

这是一个使用Python编写的银行模拟系统,包括开户、查询、取款、存款、转账、改密、锁定和解锁等基本功能。用户可以输入相关信息进行操作,如输入错误或尝试锁定已锁定的卡,系统会给出相应的提示。
摘要由CSDN通过智能技术生成

创建 atm.pyfromcard import Cardfromuser import User

import randomclass Atm(object):

def __init__(self):

self.user_dict={}

def print_ui(self):

print("".center(50, "*"))

print("*".ljust(16, " "), "开户(1) 查询(2)", " ".rjust(13, " "), "*")

print("*".ljust(16, " "), "取款(3) 存款(4)", " ".rjust(13, " "), "*")

print("*".ljust(16, " "), "转账(5) 改密(6)", " ".rjust(13, " "), "*")

print("*".ljust(16, " "), "锁定(7) 解锁(8)", " ".rjust(13, " "), "*")

print("*".ljust(16, " "), "销户(9) 退出(10)", " ".rjust(12, " "), "*")

print("".center(50, "*"))

def openAcount(self):

name=input("请输入姓名:")

phonenum=int(input("请输入电话号码:"))

identycard=input("请输入身份证号码:")

passwd=input("请输入密码:")

passwd1=input("请再输入密码:")if passwd!=passwd1:

print("两次密码不一致,开户失败")returnmoney=float(input("请输入存款金额:"))if money<10:

print("存款金额少于10元,开户失败")returncardid=random.randrange(1000000,9999999)

print("您的卡号为:",cardid)

card=Card(cardid,passwd,money)

user=User(name,identycard,phonenum,card)

print("开户成功")

self.user_dict[cardid]=user

def Search(self):

cardid=int(input("请输入卡号:"))

user=self.user_dict.get(cardid)if user==None:

print("卡号不存在")return

if user.card.islock==True:

print('卡被锁定,请先解锁')return

for i in range(3):

passwd=input("请输入密码:")if user.card.passwd!=passwd:

print("密码错误")else:break

else:

print("机会已用完,卡被锁了")

user.card.islock=Truereturnprint("用户名:%s,身份证号%s:,电话号%d:,卡号:%s,余额:%.2f"

%(user.name,user.identycard,user.phonenum,user.card.cardid,user.card.money ))

def Savemoney(self):

cardid=int(input("请输入卡号:"))

user=self.user_dict.get(cardid)if user==None:

print("卡号不存在")return

if user.card.islock==True:

print('卡被锁定,请先解锁')return

for i in range(3):

passwd=input("请输入密码:")if user.card.passwd!=passwd:

print("密码错误")else:break

else:

print("机会已用完,卡被锁了")

user.card.islock=Truereturnmoney=float(input("请输入存款金额:"))

user.card.money+=money

print("存款成功,当前余额为:",user.card.money)

def Takemoney(self):

cardid=int(input("请输入卡号:"))

user=self.user_dict.get(cardid)if user==None:

print("卡号不存在")return

if user.card.islock==True:

print('卡被锁定,请先解锁')return

for i in range(3):

passwd=input("请输入密码:")if user.card.passwd!=passwd:

print("密码错误")else:break

else:

print("机会已用完,卡被锁了")

user.card.islock=Truereturnmoney=float(input("请输入取款金额:"))if money>user.card.money:

print("输入金额超出卡内余额,请重新输入:")returnmoney

user.card.money-=money

print("取款成功,当前余额为:",user.card.money)

def Changemoney(self):

cardid=int(input("请输入卡号:"))

user=self.user_dict.get(cardid)if user==None:

print("卡号不存在")return

if user.card.islock==True:

print('卡被锁定,请先解锁')return

for i in range(3):

passwd=input("请输入密码:")if user.card.passwd!=passwd:

print("密码错误")else:break

else:

user.card.islock=True

print("机会已用完,卡被锁了")returnothercard=int(input("请输入对方卡号:"))

otheruser= self.user_dict.get(othercard)if otheruser ==None:

print("卡号不存在")returnmoney=float(input("请输入转账金额:"))if money>user.card.money:

print("输入金额超出卡内余额,请重新输入:")returnmoney

user.card.money-=money

print("转账成功,当前余额为:",user.card.money)

def Changepasswd(self):

cardid= int(input("请输入卡号:"))

user= self.user_dict.get(cardid)if user ==None:

print("卡号不存在")return

if user.card.islock ==True:

print('卡被锁定,请先解锁')return

for i in range(3):

passwd= input("请输入密码:")if user.card.passwd !=passwd:

print("密码错误")else:break

else:

user.card.islock=True

print("机会已用完,卡被锁了")return

if user ==None:

print("卡号不存在")returnidentycard=input("请输入身份证号码:")if user.identycard!=identycard:

print("身份信息验证错误,请重新输入")returnpasswd= input("请输入新的密码:")

user.card.passwd=passwd

print("密码更改成功")

print("用户名:%s,身份证号%s:,电话号%d:,卡号:%s,余额:%.2f"

%(user.name, user.identycard, user.phonenum, user.card.cardid, user.card.money))

# 锁卡

def Lockcard(self):

cardid= int(input("请输入卡号:"))

user= self.user_dict.get(cardid)if user ==None:

print("卡号不存在")return

if user.card.islock ==True:

print('卡已被锁定')returnprint("是否确认锁卡,如果锁卡请输入1,退出请输入0:")

num=int(input())if num==1:for i in range(3):

passwd= input("请输入密码:")if user.card.passwd !=passwd:

print("密码错误")else:

print("锁卡成功")

user.card.islock=Truebreak

else:

print("锁卡失败")return

else:

exit()

# 解锁

def solveLock(self):

cardid= int(input("请输入卡号:"))

user= self.user_dict.get(cardid)if user ==None:

print("卡号不存在")return

if user.card.islock ==False:

print('卡未被锁定')returnprint("是否确认解卡,如果解卡请输入1,退出请输入0:")

num= int(input())if num == 1:for i in range(3):

identycard= input("请输入身份证号:")if user.identycard !=identycard:

print("卡和姓名不匹配,解卡失败")else:

print("解卡成功")

user.card.islock=Falsebreak

else:

print("解卡失败")return

else:

exit()

# 销户(删除用户)

def Popuser(self):

cardid= int(input("请输入卡号:"))

user= self.user_dict.get(cardid)if user ==None:

print("卡号不存在")return

if user.card.islock ==True:

print('卡被锁定,请先解锁')returnprint("是否确认销户,如果销户请输入1,退出请输入0:")

num= int(input())if num == 1:for i in range(3):

passwd= input("请输入密码:")if user.card.passwd !=passwd:

print("密码错误,销户失败")else:

print("销户成功")

self.user_dict.pop(cardid)break

else:

exit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值