Python中控制器(Controller())如何处理用户输入和响应
发布时间:2024-01-15 02:04:28
在Python中,控制器(Controller)是处理用户输入和响应的关键组件。它负责接收用户输入,并根据输入进行相应的处理和操作,然后再返回相应的结果给用户。
在下面的例子中,我们将实现一个简单的图书管理系统,用户可以通过控制器来添加新的图书、查询已有的图书以及删除图书。
首先,我们需要创建一个Book类,用来表示图书的信息:
class Book:
def __init__(self, title, author):
self.title = title
self.author = author
def __str__(self):
return f"{self.title} by {self.author}"
然后,我们创建一个控制器类,用来处理用户输入和操作图书信息:
class BookController:
def __init__(self):
self.books = []
def add_book(self, title, author):
book = Book(title, author)
self.books.append(book)
def search_book(self, title):
for book in self.books:
if book.title == title:
return book
return None
def delete_book(self, book):
if book in self.books:
self.books.remove(book)
在控制器类中,我们定义了三个方法来处理不同的操作。其中,add_book方法用来添加新的图书,search_book方法用来查询图书,delete_book方法用来删除图书。
接下来,我们使用控制器类来处理用户输入和响应:
controller = BookController()
while True:
print("1. Add Book")
print("2. Search Book")
print("3. Delete Book")
print("4. Exit")
choice = input("Enter your choice: ")
if choice == "1":
title = input("Enter book title: ")
author = input("Enter book author: ")
controller.add_book(title, author)
print("Book added successfully!")
elif choice == "2":
title = input("Enter book title: ")
book = controller.search_book(title)
if book:
print("Book found:", book)
else:
print("Book not found!")
elif choice == "3":
title = input("Enter book title: ")
book = controller.search_book(title)
if book:
controller.delete_book(book)
print("Book deleted successfully!")
else:
print("Book not found!")
elif choice == "4":
break
else:
print("Invalid choice!")
在主程序中,我们使用一个无限循环来持续接收用户的输入,并根据输入的选项来调用相应的控制器方法进行处理。用户可以选择添加图书、查询图书、删除图书或退出程序。
通过使用控制器类,我们可以有效地处理用户输入,并根据输入进行相应的操作和反馈。这种模式可以应用于各种不同的场景,例如处理用户注册、登录、购物等各种交互式应用。
