刷题 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