赞
踩
在本篇博文中,我们将使用Python编写一个简单的银行管理系统,该系统具有开户、查询、取款、存款、转账、锁定、解锁、存盘和退出等功能。我们将逐步分析每个功能,并提供相应的代码实现。
7.5 实例1: 银行管理系统
从早期的钱庄到现如今的银行,金融行业在不断地变革;随着科技的发展、计算机的普及、计算机技术在金融行业得到了广泛的应用“银行管理系统是一个集开户、查询、取款、存款、转账、锁定、解锁、退出等一系列功能的管理系统。该系统中各功能的介绍如下:
(1)开户功能:用户在ATM 机上根据提示“请输人姓名:”、“请输人身份证号:”、“请输入机号:”依次输人姓名、身份证号、手机号、预存金额、密码等信息,如果开户成功,系统随机生成一个不重复的6位数字卡号。
(2)查询功能:根据用户输人的卡号、密码查询卡中余额,如果连续 3 次输入错误密码,该卡号会被锁定。
(3)取款功能:首先根据用户输入的卡号、密码显示卡中余额,如果连续 3 次输人错误密码该卡号会被锁定;然后接收用户输人的取款金额,如果取款金额大于卡中余额或取款金额小于0系统进行提示并返回功能页面。
(4)存款功能:首先根据用户输人的卡号、密码显示卡中余额,如果连续 3 次输入错误密码该卡号会被锁定,然后接收用户输入的存款金额:如果存款金额小于 0,系统进行提示并返回功能页面。
(5)转账功能: 用户需要分别输人转出卡号与转人卡号,如果连续3次输入错误密码,卡号会被锁定。当输人转账金额后,需要用户再次确认是否执行转账功能;如果确定执行转账功能后转出卡与转入卡做相应金额计算;如果取消转账功能,则回退之前操作。
(6)锁定功能:根据输人的卡号、密码执行锁定功能,锁定之后该卡不能执行查询、取款存款、转账等操作。
(7)解锁功能:根据输入的卡号、密码执行解锁功能,解锁后的卡,能够执行查询、取款存款、转账等操作。
(8)存盘功能:执行存盘功能后,程序执行的数据会写入本地文件中
(9)退出功能:执行退出功能时,需要输人管理员的账户密码。如果输入的账号密码错误则返回功能页面;如果输人的账号密码正确,则执行存盘并退出系统。
本实例要求使用python编写程序,实现一个具有上述功能的银行管理系统
开户功能允许用户在ATM机上输入个人信息,并生成一个不重复的6位数字卡号。以下是实现开户功能的代码:
# 开户功能 def open_account(): name = input("请输入姓名:") id_number = input("请输入身份证号:") phone = input("请输入手机号:") balance = float(input("请输入预存金额:")) password = input("请输入密码:") card_number = generate_card_number() users[card_number] = { "name": name, "id_number": id_number, "phone": phone, "balance": balance, "password": password } print("开户成功!您的卡号是:", card_number)
查询功能允许用户通过输入卡号和密码来查询卡中的余额。如果连续3次输入错误密码,该卡号将被锁定。以下是实现查询功能的代码:
# 查询功能 def inquire(): card_number = input("请输入卡号:") password = input("请输入密码:") if card_number in locked_cards: print("该卡号已被锁定,请联系银行解锁。") return user = users.get(card_number) if user and user["password"] == password: print("您的余额为:", user["balance"]) else: print("卡号或密码错误!") if card_number in users: if card_number not in locked_cards: users[card_number].setdefault("wrong_password_count", 0) users[card_number]["wrong_password_count"] += 1 if users[card_number]["wrong_password_count"] >= 3: locked_cards.append(card_number) print("连续输错密码已达3次,该卡已被锁定。")
取款功能允许用户在输入卡号和密码后显示卡中的余额,并输入取款金额。如果连续3次输入错误密码,卡号将被锁定;如果取款金额大于卡中余额或小于0,系统将提示错误并返回功能页面。以下是实现取款功能的代码:
# 取款功能 def withdraw(): card_number = input("请输入卡号:") password = input("请输入密码:") if card_number in locked_cards: print("该卡号已被锁定,请联系银行解锁。") return user = users.get(card_number) if user and user["password"] == password: print("您的余额为:", user["balance"]) amount = float(input("请输入取款金额:")) if amount > user["balance"] or amount < 0: print("取款金额无效!") else: user["balance"] -= amount print("取款成功!") print("当前余额为:", user["balance"]) else: print("卡号或密码错误!") if card_number in users: if card_number not in locked_cards: users[card_number].setdefault("wrong_password_count", 0) users[card_number]["wrong_password_count"] += 1 if users[card_number]["wrong_password_count"] >= 3: locked_cards.append(card_number) print("连续输错密码已达3次,该卡已被锁定。")
存款功能允许用户在输入卡号和密码后显示卡中的余额,并输入存款金额。如果连续3次输入错误密码,卡号将被锁定;如果存款金额小于0,系统将提示错误并返回功能页面。以下是实现存款功能的代码:
# 存款功能 def deposit(): card_number = input("请输入卡号:") password = input("请输入密码:") if card_number in locked_cards: print("该卡号已被锁定,请联系银行解锁。") return user = users.get(card_number) if user and user["password"] == password: print("您的余额为:", user["balance"]) amount = float(input("请输入存款金额:")) if amount < 0: print("存款金额无效!") else: user["balance"] += amount print("存款成功!") print("当前余额为:", user["balance"]) else: print
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。