Hướng dẫn how do you create a dynamic menu in python? - làm thế nào để bạn tạo một menu động trong python?

Trong bài đăng này, tôi sẽ chỉ cho bạn cách triển khai menu dòng lệnh động trong Python. Trong hầu hết các hướng dẫn và bài đăng mà tôi đã thấy trực tuyến cách thông thường để thực hiện menu dòng lệnh là một vòng lặp trong thời gian với một loạt các câu lệnh if-elif. Việc triển khai này là ổn đối với menu nhỏ, nhưng nó có thể nhanh chóng trở nên rất tẻ nhạt nếu bạn cần sửa đổi menu của mình sau đó. Trong triển khai này, không thể tạo các mục menu động, có nghĩa là chúng ta cần mã cứng cấu trúc menu trong một hàm riêng.

Đầu tiên tôi sẽ cho bạn thấy việc triển khai thông thường để các lợi thế của bộ điều khiển động trở nên rõ ràng hơn. Vì lợi ích của ví dụ này, tôi đã giành được lo lắng về việc xử lý lỗi hoặc những thứ khác để giữ cho mã này ngắn gọn nhất có thể. Sau ví dụ đầu tiên, tôi cũng sẽ chỉ ra cách tốt hơn để thực hiện menu một cách linh hoạt.

If/Elif Menu

Điều đầu tiên chúng ta cần là một chức năng in ra menu, để người dùng biết các lệnh nào có sẵn.

def print_menu():

    print((================================\n
           MENU\n
               ================================\n
               1 - First menu item\n
               2 - Second menu item\n
               3 - Third menu item\n
               5 - Fourth menu item\n
               6 - Exit\n
               ================================\n
           Enter a choice and press enter:), end= )

Tôi thích loại cú pháp đa dòng này, bởi vì nó cho phép bạn viết các hàng sạch và căn chỉnh và nó chắc chắn đẹp hơn phiên bản sau:

def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)

Phiên bản ưa thích của tôi cần gõ nhiều hơn, nhưng ít nhất là theo cách đó, bạn không có một số hàng chuỗi không phân bổ kỳ lạ ở bên trái. Sau đó, chúng tôi tạo chức năng menu thực tế.

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)

Trước tiên, chúng tôi gọi hàm

def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
0 được tạo trước đó và tạo biến
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
1 để lưu trữ các đầu vào được gõ bởi người dùng. Sau đó, chúng tôi nhập vòng lặp
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
2 và chúng tôi chạy lặp lại vòng lặp lại cho đến khi người dùng nhập số 6, thoát khỏi chương trình.

Bây giờ chúng tôi có chức năng

def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
0 của chúng tôi và chức năng cơ bản tại chỗ. Bước tiếp theo là chạy chương trình.

if __name__ == __main__:
    menu()

Chúng ta có thể bắt đầu phát triển các progam hơn nữa bằng cách xây dựng các tuyên bố

def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
4. Chúng tôi có thể tạo các chức năng hoặc mô -đun bổ sung sẽ được gọi sau một máy ép khóa cụ thể. Chúng tôi có thể thêm nhiều câu lệnh
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
5 để chạy nhiều chức năng hơn. Tất nhiên, mỗi khi chúng tôi thêm một tuyên bố
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
5 mới, chúng tôi cũng cần sửa đổi chức năng ____10 của chúng tôi. Đây là nơi bộ điều khiển menu động bắt đầu có ý nghĩa. Hãy xem tiếp theo làm thế nào nó có thể được thực hiện.

Chúng tôi bắt đầu bằng cách tạo một

def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
8 mới cho bộ điều khiển với một số phương thức trong đó. Hãy để nhóm gọi lớp
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
9 và các phương thức
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
0.

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)

Đây là cấu trúc cơ bản của lớp. Chúng tôi mô phỏng các câu lệnh

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
1 của ví dụ trước với các phương thức riêng biệt được gọi là phương thức
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
0. Các phương pháp DO trong ví dụ này phải được đặt tên với tiền tố DO. Bạn sẽ hiểu tại sao sau này. Vì vậy, đây là những phương pháp mà người dùng sẽ có thể chạy từ dòng lệnh. Trong ví dụ này, chúng tôi không cần tạo một thể hiện của lớp
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
9 và đó là lý do tại sao tôi sử dụng các phương thức tĩnh ở đây.do prefix. You will understand why later. So these are the methods that the user will be able to run from the command line. In this example we do not need to create an instance of the
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
9 class and that is why I use static methods here.

Nhưng làm thế nào chúng ta có thể chạy tất cả các phương pháp này? Làm thế nào để chúng tôi liên kết đầu vào người dùng với một phương pháp DO cụ thể?

Câu trả lời khá đơn giản một khi bạn đã học nó một lần. Chúng tôi sẽ cần một phương thức trợ giúp riêng biệt lấy đầu vào của người dùng làm đối số.

    @staticmethod
    def execute(user_input):
        controller_name = fdo_{user_input}
        try:
            controller = getattr(Controller, controller_name)
        except AttributeError:
            print(Method not found)
        else:
            controller()

Trong đoạn trích, bạn có thể thấy phương pháp trợ giúp. Tôi vẫn cần chỉ cho bạn nơi gọi phương thức này từ đâu, nhưng trước tiên hãy để đi qua phương thức ____24.

Đầu tiên chúng tôi tạo một chuỗi và lưu trữ nó đến

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
5. Chuỗi được lưu trữ sẽ được định dạng như
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
6. Lý tưởng nhất là đầu vào của người dùng là một số mà correnponds cho một trong các phương pháp DO của chúng tôi. Nếu nó không có, một
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
7 sẽ được nâng lên.

Sau đó, chúng tôi tạo một biến mới,

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
8. Chúng tôi sử dụng hàm
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
9 để tìm phương pháp DO được yêu cầu từ trong lớp
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
9. Đối số đầu tiên của hàm
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
9 là lớp và mục thứ hai là tên phương thức được tìm kiếm ở định dạng chuỗi.

Nếu không có lỗi nào được nêu ra, chúng tôi sẽ chạy phương thức

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
8 được tạo bởi hàm
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
9. Bây giờ chúng ta cần một cái gì đó để buộc tất cả những điều này lại với nhau. Trong ví dụ
def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
1, chúng tôi đã sử dụng vòng lặp
def print_menu():

    print(================================
MENU
    ================================
    1 - First menu item
    2 - Second menu item
    3 - Third menu item
    5 - Fourth menu item
    6 - Exit
    ================================
Enter a choice and press enter:)
2 và vì vậy chúng tôi cũng làm trong cái này. Hãy để tạo ra phương thức
if __name__ == __main__:
    menu()
6.

    @staticmethod
    def run():
        user_input = 0
        while(user_input != 6):
            user_input = int(input())
            Controller.execute(user_input)
        print(Program stopped.)

Hoàn hảo. Bây giờ chúng tôi đã có cho mình một chương trình làm việc. Mặc dù người dùng chèn một cái gì đó không phải là 6, trong khi vòng lặp sẽ tiếp tục gọi phương thức

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
4 với đầu vào người dùng mong muốn. Nếu người dùng cho 6 làm đầu vào. Chương trình dừng lại và in ra chương trình đã dừng lại. thông báo.

Lưu ý rằng trong ví dụ này, chúng tôi cho rằng phương thức thoát là phương thức

if __name__ == __main__:
    menu()
8. Có thể cần phải viết một số mã để tìm phương pháp Do cuối cùng từ lớp và sử dụng nó làm phương thức thoát, để bạn có thể thêm nhiều phương pháp DO mà không phải sửa đổi phương thức
if __name__ == __main__:
    menu()
6.

Nhưng không có menu. Chúng tôi sẽ cần một phương thức

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
0. Nhưng trước khi viết phương pháp
class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
0. Thêm một tài liệu cho tất cả các phương pháp làm của bạn. DocString sẽ được sử dụng để tạo menu một cách linh hoạt.

Sửa đổi phương pháp làm của bạn khi bạn muốn. Tôi để lại một ví dụ một phương thức ở đây chỉ để làm rõ.

    @staticmethod
    def do_1():
        First menu item
        print(Doing 1)

Sau đó tạo phương thức

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
0.

    @staticmethod
    def generate_menu():
        print(================================)
        do_methods = [m for m in dir(Controller) if m.startswith('do_')]
        menu_string = "\n".join(
            [f{method[-1]}.  {getattr(Controller, method).__doc__}
             for method in do_methods])
        print(menu_string)
        print(================================)
        print(Insert a number:, end= )

Vì vậy, những gì đang xảy ra ở đó. Sau dòng đầu tiên của các dấu hiệu bằng, chúng tôi tạo một danh sách tất cả các phương thức (

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
3) bắt đầu bằng
class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
4. Đây là những phương pháp DO nổi tiếng sẽ được sử dụng làm mục menu của chúng tôi.

Sau đó, chúng tôi tạo một chuỗi duy nhất chứa toàn bộ menu bằng cách sử dụng phương thức hiểu danh sách và phương thức

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
5. Phần này hơi khó đọc vì vậy tôi sẽ trải qua danh sách hiểu để làm cho nó rõ ràng hơn.

  • class Controller:
    
        @staticmethod
        def do_1():
            print(Doing 1)
    
        @staticmethod
        def do_2():
            print(Doing 2)
    
        @staticmethod
        def do_3():
            print(Doing 3)
    
        @staticmethod
        def do_4():
            print(Doing 4)
    
        @staticmethod
        def do_5():
            print(Doing 5)
    
        @staticmethod
        def do_6():
            print(Exiting...)
    6 là số trong tên phương pháp DO. Ví dụ: DO_1.1.
  • class Controller:
    
        @staticmethod
        def do_1():
            print(Doing 1)
    
        @staticmethod
        def do_2():
            print(Doing 2)
    
        @staticmethod
        def do_3():
            print(Doing 3)
    
        @staticmethod
        def do_4():
            print(Doing 4)
    
        @staticmethod
        def do_5():
            print(Doing 5)
    
        @staticmethod
        def do_6():
            print(Exiting...)
    7 lấy tài liệu của phương pháp.

Các bước này được lặp lại cho tất cả các phương thức trong danh sách

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
3. Kết quả là chúng tôi nhận được một chuỗi mà trong trường hợp này sẽ là 1. Menu đầu tiên Mục. Bạn có thể nhận thấy rằng thực hiện như thế này, menu chỉ hoạt động khi có ít hơn 10 phương pháp thực hiện, vì
class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
6 chỉ là ký tự cuối cùng của tên phương thức. Điều này có thể dễ dàng sửa chữa, ví dụ, bằng cách sử dụng một biểu thức chính quy đơn giản. Hoặc có thể trong một số trường hợp bạn có thể lấy mọi thứ đến sau khi gạch dưới.

Hãy đến điểm này, chúng tôi đã sẵn sàng để chạy bộ điều khiển làm việc của chúng tôi.

def main():
    Controller.run()


if __name__ == __main__:
    main()

Sự kết luận

Tôi đã chỉ cho bạn hai cách để tạo cấu trúc menu cho một ứng dụng dòng lệnh.

Cách đầu tiên là cách đơn giản bằng cách sử dụng các câu lệnh

def menu():

    print_menu()
    user_input = 0

    while user_input != 6:

        user_input = int(input())

        if user_input == 1:
            print(Executing menu item 1)

        elif user_input == 2:
            print(Executing menu item 2)

        elif user_input == 3:
            print(Executing menu item 3)

        elif user_input == 4:
            print(Executing menu item 4)

        elif user_input == 5:
            print(Executing menu item 5)

        elif user_input == 6:
            print(Exiting...)
1. Cấu trúc menu này là tốt cho các menu nhỏ sẽ không được sửa đổi sau đó. Nó thực sự dễ hiểu ngay cả đối với một lập trình viên mới bắt đầu. Nhược điểm của nó là nếu một số sửa đổi là cần thiết, quá trình sửa đổi có thể trở nên tẻ nhạt và dễ bị lỗi.

Cách thứ hai là một bộ điều khiển động. Đây là cách mà tôi đề xuất cho các menu lớn hơn. Nó khó hiểu hơn một chút, nhưng điều quan trọng là phải nắm bắt tốt nó nếu bạn đang lên kế hoạch thiết kế các ứng dụng lớn hơn. Ưu điểm là bằng cách thêm nhiều phương pháp làm, menu cập nhật linh hoạt mà không phải sửa đổi thủ công. Điều này có nghĩa là menu luôn được cập nhật và các phương thức có thể truy cập được.

Với menu động, bạn có thể dễ dàng sử dụng ID phương thức khác so với số. Không có gì ngăn cản bạn sử dụng một cái gì đó như dojump_ hoặc doshoot_ làm tên phương thức của bạn. Bạn chỉ cần điều chỉnh

class Controller:

    @staticmethod
    def do_1():
        print(Doing 1)

    @staticmethod
    def do_2():
        print(Doing 2)

    @staticmethod
    def do_3():
        print(Doing 3)

    @staticmethod
    def do_4():
        print(Doing 4)

    @staticmethod
    def do_5():
        print(Doing 5)

    @staticmethod
    def do_6():
        print(Exiting...)
0 với tên phương thức của bạn.

Đó là tất cả cho bây giờ. :)