欢迎访问宙启技术站
智能推送

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!")

在主程序中,我们使用一个无限循环来持续接收用户的输入,并根据输入的选项来调用相应的控制器方法进行处理。用户可以选择添加图书、查询图书、删除图书或退出程序。

通过使用控制器类,我们可以有效地处理用户输入,并根据输入进行相应的操作和反馈。这种模式可以应用于各种不同的场景,例如处理用户注册、登录、购物等各种交互式应用。