介绍
这段代码模拟了一个简单的银行系统。在系统中,用户可以注册、登录和操作自己的银行账户。注册过程中,用户名必须是唯一的,且每个新注册的用户的初始余额都是0。登录功能验证用户的用户名和密码,只有验证通过的用户才能进一步操作他们的账户。登录后,用户可以查询自己的账户余额、存入或取出一定的金额。如果取款金额超过了账户余额,系统会提示“余额不足”。用户还可以更改其密码,但更改前需要验证旧密码是否正确。整体而言,这是一个基础的银行系统,主要用于演示如何使用Python进行基础的账户管理和交易操作。
代码
class BankSystem:
def __init__(self):
self.users = {} # 用户名与密码的映射
self.balances = {} # 用户名与余额的映射
def register(self, username, password):
if username in self.users:
print("用户名已经存在!")
return
self.users[username] = password
self.balances[username] = 0 # 初始余额为0
print("注册成功!")
def login(self, username, password):
if username not in self.users:
print("用户不存在!")
return False
if self.users[username] != password:
print("密码错误!")
return False
print("登陆成功!")
return True
def check_balance(self, username):
# 返回指定用户的余额
return self.balances[username]
def deposit(self, username, amount):
# 存款操作
self.balances[username] += amount
print(f"存款成功! 余额: {self.balances[username]}")
def withdraw(self, username, amount):
# 取款操作
if amount > self.balances[username]:
print("余额不足!")
return
self.balances[username] -= amount
print(f"取款成功! 余额: {self.balances[username]}")
def change_password(self, username, old_password, new_password):
# 修改密码操作
if self.users[username] != old_password:
print("原密码错误!")
return
self.users[username] = new_password
print("密码修改成功!")
def main():
system = BankSystem()
while True:
print("\n--- 银行系统 ---")
print("1. 注册")
print("2. 登陆")
print("3. 退出")
choice = input("选择操作: ")
if choice == "1":
# 注册新用户
username = input("输入用户名: ")
password = input("输入密码: ")
system.register(username, password)
elif choice == "2":
# 用户登陆
username = input("输入用户名: ")
password = input("输入密码: ")
if system.login(username, password):
while True:
print("\n--- 用户菜单 ---")
print("1. 查询余额")
print("2. 存款")
print("3. 取款")
print("4. 修改密码")
print("5. 返回")
user_choice = input("选择操作: ")
if user_choice == "1":
# 查询余额
print(f"余额: {system.check_balance(username)}")
elif user_choice == "2":
# 存款操作
amount = float(input("输入存款金额: "))
system.deposit(username, amount)
elif user_choice == "3":
# 取款操作
amount = float(input("输入取款金额: "))
system.withdraw(username, amount)
elif user_choice == "4":
# 修改密码
old_password = input("输入原密码: ")
new_password = input("输入新密码: ")
system.change_password(username, old_password, new_password)
elif user_choice == "5":
break
elif choice == "3":
# 退出系统
print("谢谢使用!")
break
if __name__ == "__main__":
main()
代码解释
- 定义
BankSystem
类:
class BankSystem:
这个类代表一个简单的银行系统。
- 初始化函数
__init__
:
def __init__(self): self.users = {} # 用户名与密码的映射 self.balances = {} # 用户名与余额的映射
当创建一个BankSystem
对象时,这个函数会被自动调用。这个函数初始化了两个字典:users
用于存储用户名和密码,balances
用于存储用户名和他们的余额。
- 注册函数
register
:
def register(self, username, password): if username in self.users: print("用户名已经存在!") return self.users[username] = password self.balances[username] = 0 # 初始余额为0 print("注册成功!")
此函数允许用户注册。如果用户名已存在,会打印一个消息。否则,它会在users
字典中存储密码,并在balances
字典中为该用户设置初始余额为0。
- 登录函数
login
:
def login(self, username, password): if username not in self.users: print("用户不存在!") return False if self.users[username] != password: print("密码错误!") return False print("登陆成功!") return True
此函数检查用户是否存在以及密码是否正确。如果验证成功,返回True,否则返回False。
- 查询余额函数
check_balance
:
def check_balance(self, username): # 返回指定用户的余额 return self.balances[username]
返回给定用户名的余额。
- 存款函数
deposit
:
def deposit(self, username, amount): # 存款操作 self.balances[username] += amount print(f"存款成功! 余额: {self.balances[username]}")
增加指定用户的余额。
- 取款函数
withdraw
:
def withdraw(self, username, amount): # 取款操作 if amount > self.balances[username]: print("余额不足!") return self.balances[username] -= amount print(f"取款成功! 余额: {self.balances[username]}")
从指定用户的余额中扣除一定数量。如果余额不足,则打印一个消息。
- 修改密码函数
change_password
:
def change_password(self, username, old_password, new_password): # 修改密码操作 if self.users[username] != old_password: print("原密码错误!") return self.users[username] = new_password print("密码修改成功!")
此函数允许用户更改密码。首先,它验证旧密码是否正确。如果是,它将更新密码。
- 主函数
main
:
def main():
这个函数是这个简单银行系统的主入口点。它提供了一个循环菜单,允许用户选择注册、登录或退出。
- 程序入口:
if __name__ == "__main__": main()
这是Python程序的标准模式,意味着当这个脚本作为主程序运行时,main()
函数会被调用。
运行图片
![图片[1]-用Python实现简单银行系统](https://z7h.cn/wp-content/uploads/2023/08/16919015687871.png)
java版本的简单银行系统在这里
免责声明:
本站提供的资源所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关。您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。侵删请致信 E-mail:2945314004@qq.com。
暂无评论内容