Hướng dẫn create a food menu in python - tạo menu món ăn trong python

Tôi chưa quen với Python và muốn tạo ra một hệ thống đặt hàng pizza bằng Python, trông giống như thế này.

Show
1   Hawaiian                      $7.50
2   Champagne Ham & Cheese        $7.50
3   Beef & Onion                  $7.50
4   Pepperoni                     $7.50
5   Simply Cheese                 $7.50
6   Bacon & Mushroom              $7.50
7   Italiano                      $7.50
8   The Deluxe                    $13.50  
9   Ham, Egg & Hollandaise        $13.50
10  Americano                     $13.50
11  Mr Wedge                      $13.50
12  BBQ Meatlovers                $13.50

Sau đó, tôi muốn khách hàng có thể chọn các loại pizza khác nhau dựa trên số để họ không phải gõ Hawaii, thay vào đó họ có thể loại 1. Tôi đã thử cả từ điển và danh sách nhưng luôn dẫn đến vấn đề này:

1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50

Trường hợp giá sẽ "bám vào tên pizza" và tên của pizza 10 trở đi đã được thụt vào bởi một nhân vật. Việc đặt không gian thủ công dường như không phải là cách hiệu quả nhất về vấn đề của tôi. ví dụ

standardprice = "$7.50"
    deluxeprice = "13.50"
    print (
    """   
1   Hawaiian                      %s
2   Champagne Ham & Cheese        %s
3   Beef & Onion                  %s
4   Pepperoni                     %s
5   Simply Cheese                 %s
6   Bacon & Mushroom              %s
7   Italiano                      %s
8   The Deluxe                    %s  
9   Ham, Egg & Hollandaise        %s
10  Americano                     %s
11  Mr Wedge                      %s
12  BBQ Meatlovers                %s
     """  % (standardprice, standardprice, standardprice, standardprice, 
             standardprice, standardprice, standardprice,deluxeprice,            
             deluxeprice,deluxeprice, deluxeprice, deluxeprice)
        )

Có cách nào dễ dàng hơn để giải quyết vấn đề của tôi không? Cũng như một câu hỏi phụ khi in có một cách mà biến "StandardPrice" áp dụng cho 7 yếu tố đầu tiên và giá sang trọng áp dụng cho 8-12, thay vì cách thô thiển mà tôi đã thực hiện.

Ở đây có một vấn đề hơi tương tự nhưng trang này không giúp ích gì. Tôi rất mới với Python, vì vậy giải thích như tôi biết không có gì rất hữu ích

Tìm hiểu Python trong khi thực hiện một chương trình nhận đơn đặt hàng của bạn!



Hướng dẫn create a food menu in python - tạo menu món ăn trong python

Xin chào lần nữa! Chào mừng bạn đến với Phần 3 trong một loạt cho Begin Python! Trong Phần 2, chúng tôi đề cập đến các hằng số, chức năng, danh sách và định dạng chuỗi. Hôm nay chúng tôi sẽ tạo ra một người dùng đơn hàng đơn giản chỉ bằng một vài khái niệm mới. Nếu bạn hoàn toàn mới đối với Python, hãy xem Phần 1 để bắt đầu hành trình của bạn!

Chủ đề hôm nay: Đặt hàng Bot Bot

Các khái niệm chúng ta sẽ học:

  • Tạo nhiều chức năng

  • Bộ

  • cho vòng lặp

  • trong khi lặp lại

  • Tăng lỗi

Thành lập

Giống như lần trước, chúng ta sẽ bắt đầu với một số mã giới thiệu trong chương trình:

MENU = {"soda", "fries", "burger", "shake", "cookie", "chicken strips"}


def main():
    pass


if __name__ == "__main__":
    main()

Bộ

cho vòng lặp

trong khi lặp lại

Tăng lỗi

Thành lập

MENU = {"soda", "fries", "burger", "shake", "cookie", "chicken strips"}


def get_order():
    current_order = []
    while True:
        print("What can I get for you?")
        order = input()
        if order in MENU:
            current_order.append(order)
        else:
            print("I'm sorry, we don't serve that.")


def main():
    order = get_order()


if __name__ == "__main__":
    main()

Giống như lần trước, chúng ta sẽ bắt đầu với một số mã giới thiệu trong chương trình:

Chú ý một cái gì đó khác biệt với hằng số MENU của chúng tôi? Nó sử dụng dấu ngoặc xoăn thay vì các dấu ngoặc mà chúng tôi đã sử dụng cho các danh sách trong Phần 2! Bằng cách sử dụng dấu ngoặc xoăn và vẫn có các giá trị phân tách dấu phẩy bên trong, chúng tôi đang khởi tạo một tập hợp. Các bộ khác với danh sách theo một số cách nhưng đáng chú ý nhất là chúng nhanh hơn để tìm kiếm và chỉ có thể chứa các giá trị duy nhất.

Hãy để tập trung vào sự khác biệt đầu tiên: Tìm kiếm một giá trị. Với dự án hôm nay, chúng tôi sẽ nhận đơn đặt hàng từ đầu vào của bạn và kiểm tra xem những gì bạn đặt hàng có thực sự có trong menu không. Nếu MENU là một danh sách, và chúng tôi đã đặt hàng một cái lắc, nó sẽ đi qua danh sách, kiểm tra xem soda, khoai tây chiên, burger và cuối cùng lắc đều phù hợp với những gì chúng tôi đã đặt hàng. Vì MENU là một tập hợp, nó có thể thay vào đó kiểm tra xem băm hay một số duy nhất của giá trị nằm trong tập hợp, tìm thấy lắc ngay lập tức.

Nói một cách ít kỹ thuật hơn, một danh sách tương đương với việc có một bộ bài chơi úp xuống và cần phải lật từng thẻ để xem nó có thẻ mà bạn đang tìm kiếm không. Một bộ tương đương với việc có tất cả các thẻ trải ra và đối mặt, cho phép bạn nhanh chóng tìm thấy thẻ bạn đang tìm kiếm. Điều này không quan trọng ngay bây giờ với 6 giá trị nhưng biết cấu trúc dữ liệu tốt nhất cho một nhiệm vụ hiện tại là rất quan trọng, như bạn có được thuê quan trọng hay không.

Trong khi lặp lại

Thoát khỏi vòng lặp trong khi

Để thoát khỏi vòng lặp thời gian, chúng tôi có 3 tùy chọn:

1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
5 đưa chúng tôi ra khỏi chức năng, đặt điều kiện thành sai (không thể ở đây vì nó đúng) hoặc sử dụng một lệnh mới gọi là
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
6. Có hai lệnh mới trong các vòng lặp mà chúng tôi đã thảo luận:
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
7 và
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
6.
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
7 là tự giải thích: Dừng lại nơi chúng ta đang ở và quay trở lại đỉnh của vòng lặp.
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
6 cắt chúng ta ra khỏi vòng lặp và cho phép chúng ta di chuyển trong chức năng, qua vòng lặp trong khi. Trong dự án này, chúng tôi sẽ đảm bảo rằng chúng tôi đã hoàn thành đơn đặt hàng và trở lại với biến
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
4 của chúng tôi. Hãy xem:

MENU = {"soda", "fries", "burger", "shake", "cookie", "chicken strips"}


def get_order():
    current_order = []
    while True:
        print("What can I get for you?")
        order = input()
        if order in MENU:
            current_order.append(order)
        else:
            print("I'm sorry, we don't serve that.")
            continue
        if is_order_complete():
            return current_order


def is_order_complete():
    print("Anything else? yes/no")
    choice = input()
    if choice == "no":
        return True
    elif choice == "yes":
        return False
    else:
        raise Exception("invalid input")


def main():
    order = get_order()


if __name__ == "__main__":
    main()

Một chức năng mới đã được thêm vào được gọi là

standardprice = "$7.50"
    deluxeprice = "13.50"
    print (
    """   
1   Hawaiian                      %s
2   Champagne Ham & Cheese        %s
3   Beef & Onion                  %s
4   Pepperoni                     %s
5   Simply Cheese                 %s
6   Bacon & Mushroom              %s
7   Italiano                      %s
8   The Deluxe                    %s  
9   Ham, Egg & Hollandaise        %s
10  Americano                     %s
11  Mr Wedge                      %s
12  BBQ Meatlovers                %s
     """  % (standardprice, standardprice, standardprice, standardprice, 
             standardprice, standardprice, standardprice,deluxeprice,            
             deluxeprice,deluxeprice, deluxeprice, deluxeprice)
        )
2 và nó hỏi người dùng nếu họ kết thúc với đơn đặt hàng của họ. Nếu chúng là, thì chúng ta sẽ trả lại đơn đặt hàng hiện tại của chúng ta cho
standardprice = "$7.50"
    deluxeprice = "13.50"
    print (
    """   
1   Hawaiian                      %s
2   Champagne Ham & Cheese        %s
3   Beef & Onion                  %s
4   Pepperoni                     %s
5   Simply Cheese                 %s
6   Bacon & Mushroom              %s
7   Italiano                      %s
8   The Deluxe                    %s  
9   Ham, Egg & Hollandaise        %s
10  Americano                     %s
11  Mr Wedge                      %s
12  BBQ Meatlovers                %s
     """  % (standardprice, standardprice, standardprice, standardprice, 
             standardprice, standardprice, standardprice,deluxeprice,            
             deluxeprice,deluxeprice, deluxeprice, deluxeprice)
        )
3. Nếu không, thì chúng tôi tiếp tục trong vòng lặp trong khi. Nếu người dùng nhập bất cứ thứ gì khác ngoài Có/Không, thì chúng tôi sẽ gây ra lỗi hoặc về cơ bản lật bảng trên chương trình và thoát với thông báo vào đầu vào không hợp lệ. Chương trình của chúng tôi không lộn xộn với việc xử lý đầu vào! Quay trở lại
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
0, chúng tôi kiểm tra xem
standardprice = "$7.50"
    deluxeprice = "13.50"
    print (
    """   
1   Hawaiian                      %s
2   Champagne Ham & Cheese        %s
3   Beef & Onion                  %s
4   Pepperoni                     %s
5   Simply Cheese                 %s
6   Bacon & Mushroom              %s
7   Italiano                      %s
8   The Deluxe                    %s  
9   Ham, Egg & Hollandaise        %s
10  Americano                     %s
11  Mr Wedge                      %s
12  BBQ Meatlovers                %s
     """  % (standardprice, standardprice, standardprice, standardprice, 
             standardprice, standardprice, standardprice,deluxeprice,            
             deluxeprice,deluxeprice, deluxeprice, deluxeprice)
        )
2 đã trả về đúng hay sai và trả lại
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
4 nếu vậy. Lưu ý
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
7 ngay phía trên nó? Nếu người dùng đặt hàng một cái gì đó không có trong menu, chúng tôi không muốn hỏi thì đó là tất cả? Nhưng thay vào đó, khởi động lại vòng lặp và hỏi những gì họ muốn đặt hàng.

Cho vòng lặp

Sau khi người dùng của chúng tôi đã đặt hàng những gì họ muốn từ menu, tất cả những gì cần thiết bây giờ là đọc lại những gì họ đã đặt hàng và đưa họ đến cửa sổ tiếp theo. Điều đó có nghĩa là một chức năng nữa và chúng tôi đã hoàn thành! Kiểm tra nó:

MENU = {"soda", "fries", "burger", "shake", "cookie", "chicken strips"}


def get_order():
    current_order = []
    while True:
        print("What can I get for you?")
        order = input()
        if order in MENU:
            current_order.append(order)
        else:
            print("I'm sorry, we don't serve that.")
            continue
        if is_order_complete():
            return current_order


def is_order_complete():
    print("Anything else? yes/no")
    choice = input()
    if choice == "no":
        return True
    elif choice == "yes":
        return False
    else:
        raise Exception("invalid input")


def output_order(order_list):
    print("Okay, so you want")
    for order in order_list:
        print(order)


def main():
    order = get_order()
    output_order(order)
    print("Please drive through to the second window.")


if __name__ == "__main__":
    main()

Lặp lại đơn đặt hàng

Đến thời điểm này trong chương trình của chúng tôi, chúng tôi đã hoàn thành việc nhận đơn đặt hàng và trở lại

standardprice = "$7.50"
    deluxeprice = "13.50"
    print (
    """   
1   Hawaiian                      %s
2   Champagne Ham & Cheese        %s
3   Beef & Onion                  %s
4   Pepperoni                     %s
5   Simply Cheese                 %s
6   Bacon & Mushroom              %s
7   Italiano                      %s
8   The Deluxe                    %s  
9   Ham, Egg & Hollandaise        %s
10  Americano                     %s
11  Mr Wedge                      %s
12  BBQ Meatlovers                %s
     """  % (standardprice, standardprice, standardprice, standardprice, 
             standardprice, standardprice, standardprice,deluxeprice,            
             deluxeprice,deluxeprice, deluxeprice, deluxeprice)
        )
3, đã đặt danh sách
1  Hawaiian $7.50
2  Champagne Ham & Cheese$7.50
3  Beef & Onion $7.50
4  Pepperoni $7.50
5  Simply Cheese $7.50
6  Bacon & Mushroom $7.50
7  Italiano $7.50
8  The Deluxe $13.50 
9  Ham, Egg & Hollandaise $13.50
10  Americano $13.50
11  Mr Wedge $13.50 
12  BBQ Meatlovers $13.50
4 của chúng tôi vào biến
MENU = {"soda", "fries", "burger", "shake", "cookie", "chicken strips"}


def main():
    pass


if __name__ == "__main__":
    main()
0. Bây giờ chúng tôi có chức năng
MENU = {"soda", "fries", "burger", "shake", "cookie", "chicken strips"}


def main():
    pass


if __name__ == "__main__":
    main()
1 để chọn thứ tự đó, in được ổn, vì vậy bạn muốn và in từng mục trong danh sách đơn hàng đó. Nếu bạn không chú ý, các tên biến giữa những gì đi vào đối số chức năng và những gì được sử dụng trong chính hàm không phải giống nhau. Những gì cũng mới là For Loop. A For Loop cho phép chúng tôi đi qua từng giá trị trong cấu trúc dữ liệu (List/Set/Et.), gán giá trị cho một biến và thực hiện logic trên từng bản riêng lẻ. Vòng lặp này giống như vòng lặp trong khi, ngoại trừ việc nó bị ràng buộc với cấu trúc dữ liệu được lặp qua, kết thúc một khi giá trị cuối cùng đã được đọc. Như bạn thấy ở đây, tất cả những gì chúng tôi làm là in từng mục đặt hàng, một trên mỗi dòng.

Hướng dẫn create a food menu in python - tạo menu món ăn trong python

Ý bạn là bạn không bán chuối !?

Cuối cùng, chúng tôi in ra để lái xe đến cửa sổ tiếp theo, và chúng tôi đã hoàn thành! Hãy chơi xung quanh với các mục menu khác nhau hoặc mở rộng nó để bao gồm giá cả! Làm sao? Từ điển tất nhiên! Từ điển là gì? Tìm hiểu trong Phần 4. Xem YA ở đó!



Làm thế nào để bạn tạo một menu trong Python?

Tiện ích menu được sử dụng để tạo các loại menu khác nhau (cấp cao nhất, kéo xuống và bật lên) trong ứng dụng Python ...
#!/usr/bin/python3 ..
từ nhập khẩu tkinter *.
top = tk ().
def xin chào ():.
print("hello!").
# Tạo menu Toplevel ..
menubar = menu (gốc).
Menubar.Add_Command (nhãn = "Xin chào!", Lệnh = xin chào).

Làm cách nào để tạo một bảng điều khiển menu trong Python?

Cách tạo một hệ thống menu cho một bảng điều khiển, ứng dụng thiết bị đầu cuối..
Thêm menu vào ứng dụng bảng điều khiển để quản lý các hoạt động ..
Chạy chức năng đã chọn ..
Xóa đầu ra ..
Hiển thị lại menu hoặc thoát nếu hoàn thành được chọn ..

Làm thế nào để bạn tạo ra một hệ thống quản lý nhà hàng GUI trong Python?

Dự án hệ thống quản lý nhà hàng ở Python..
Nhập các mô -đun cần thiết cho dự án ..
Xác định kết nối cơ sở dữ liệu cho dự án hệ thống quản lý nhà hàng trong Python với mã nguồn ..
Xác định tổng chức năng ..
Output..
Xác định chức năng Thêm và chức năng hiển thị ..
Output..

Chương trình Python dựa trên menu là gì?

Chương trình điều khiển menu là một chương trình nhận đầu vào từ người dùng bằng cách hiển thị danh sách tùy chọn, được gọi là menu, từ đó người dùng chọn tùy chọn của họ.a program that gets input from a user by showing the options list, known as the menu, from which the user chooses their option.