刷题 16-20
发布人:shili8
发布时间:2025-02-25 11:54
阅读次数:0
**刷题16-20**
### 题目16#### 题目描述设计一个简单的银行管理系统,包括以下功能:
* 用户注册* 登录* 账户余额查询* 季度转账* 季度提款#### 实现代码
class Bank:
def __init__(self):
self.users = {}
def register(self, username, password, balance=0):
"""用户注册"""
if username in self.users:
print("用户名已存在")
return False self.users[username] = {"password": password, "balance": balance}
print("注册成功")
return True def login(self, username, password):
"""登录"""
if username not in self.users or self.users[username]["password"] != password:
print("用户名或密码错误")
return False print("登录成功")
return True def query_balance(self, username):
"""账户余额查询"""
if username not in self.users:
print("用户不存在")
return None balance = self.users[username]["balance"]
print(f"当前余额为:{balance}")
return balance def transfer(self, username_from, username_to, amount):
"""季度转账"""
if username_from not in self.users or username_to not in self.users:
print("用户不存在")
return False from_balance = self.query_balance(username_from)
to_balance = self.query_balance(username_to)
if from_balance < amount:
print("余额不足")
return False self.users[username_from]["balance"] -= amount self.users[username_to]["balance"] += amount print(f"转账成功,{amount}元从{username_from}转到{username_to}")
return True def withdraw(self, username, amount):
"""季度提款"""
if username not in self.users:
print("用户不存在")
return False balance = self.query_balance(username)
if balance < amount:
print("余额不足")
return False self.users[username]["balance"] -= amount print(f"提款成功,{amount}元从{username}账户中取出")
return Truebank = Bank()
while True:
print("
1. 注册
2. 登录
3. 账户余额查询
4. 季度转账
5. 季度提款
6.退出")
choice = input("请输入您的选择:")
if choice == "1":
username = input("请输入用户名:")
password = input("请输入密码:")
bank.register(username, password)
elif choice == "2":
username = input("请输入用户名:")
password = input("请输入密码:")
bank.login(username, password)
elif choice == "3":
username = input("请输入用户名:")
bank.query_balance(username)
elif choice == "4":
username_from = input("请输入转出账户:")
username_to = input("请输入转入账户:")
amount = int(input("请输入转账金额:"))
bank.transfer(username_from, username_to, amount)
elif choice == "5":
username = input("请输入用户名:")
amount = int(input("请输入提款金额:"))
bank.withdraw(username, amount)
elif choice == "6":
print("退出成功")
break### 题目17#### 题目描述设计一个简单的图书管理系统,包括以下功能:
* 图书添加* 图书查询* 图书借出* 图书归还#### 实现代码
class Book:
def __init__(self, title, author, status="未借"):
self.title = title self.author = author self.status = statusclass Library:
def __init__(self):
self.books = []
def add_book(self, book):
"""图书添加"""
self.books.append(book)
print(f"添加成功,{book.title}已加入图书馆")
def query_book(self, title):
"""图书查询"""
for book in self.books:
if book.title == title:
return book print("图书不存在")
return None def borrow_book(self, title):
"""图书借出"""
book = self.query_book(title)
if book is not None and book.status == "未借":
book.status = "已借"
print(f"借出成功,{book.title}已被借出")
return True elif book is not None:
print("图书已经被借出")
return False else:
print("图书不存在")
return False def return_book(self, title):
"""图书归还"""
book = self.query_book(title)
if book is not None and book.status == "已借":
book.status = "未借"
print(f"归还成功,{book.title}已被归还")
return True elif book is not None:
print("图书已经在馆")
return False else:
print("图书不存在")
return Falselibrary = Library()
while True:
print("
1. 添加图书
2. 查询图书
3. 借出图书
4. 归还图书
5.退出")
choice = input("请输入您的选择:")
if choice == "1":
title = input("请输入图书标题:")
author = input("请输入图书作者:")
library.add_book(Book(title, author))
elif choice == "2":
title = input("请输入图书标题:")
book = library.query_book(title)
print(f"图书:{book.title},作者:{book.author}, 状态:{book.status}")
elif choice == "3":
title = input("请输入图书标题:")
library.borrow_book(title)
elif choice == "4":
title = input("请输入图书标题:")
library.return_book(title)
elif choice == "5":
print("退出成功")
break### 题目18#### 题目描述设计一个简单的学生管理系统,包括以下功能:
* 学生注册* 学生登录* 学生信息查询* 学生成绩录入* 学生成绩查询#### 实现代码
class Student:
def __init__(self, name, age, grade):
self.name = name self.age = age self.grade = grade self.score = {}
class School:
def __init__(self):
self.students = []
def register_student(self, student):
"""学生注册"""
self.students.append(student)
print(f"注册成功,{student.name}已加入学生列表")
def login_student(self, name, password):
"""学生登录"""
for student in self.students:
if student.name == name and student.password == password:
return True print("学生不存在或密码错误")
return False def query_student_info(self, name):
"""学生信息查询"""
for student in self.students:
if student.name == name:
return student print("学生不存在")
return None def input_score(self, name, subject, score):
"""学生成绩录入"""
student = self.query_student_info(name)
if student is not None:
student.score[subject] = score print(f"成功录入{student.name}的{subject}成绩")
return True else:
print("学生不存在")
return False def query_score(self, name):
"""学生成绩查询"""
student = self.query_student_info(name)
if student is not None:
for subject, score in student.score.items():
print(f"{subject}:{score}")
return True else:
print("学生不存在")
return Falseschool = School()
while True:
print("
1. 注册学生
2. 登录学生
3. 查询学生信息
4. 录入学生成绩
5. 查询学生成绩
6.退出")
choice = input("请输入您的选择:")
if choice == "1":
name = input("请输入学生姓名:")
age = int(input("请输入学生年龄:"))
grade = input("请输入学生年级:")
password = input("请输入学生密码:")
school.register_student(Student(name, age, grade))
elif choice == "2":
name = input("请输入学生姓名:")
password = input("请输入学生密码:")
school.login_student(name, password)
elif choice == "3":
name = input("请输入学生姓名:")
student = school.query_student_info(name)
print(f"学生:{student.name}, 年龄:{student.age}, 年级:{student.grade}")
elif choice == "4":
name = input("请输入学生姓名:")
subject = input("请输入科目:")
score = int(input("请输入成绩:"))
school.input_score(name, subject, score)
elif choice == "5":
name = input("请输入学生姓名:")
school.query_score(name)
elif choice == "6":
print

