Python3实现点餐系统
本文章介绍如何使用Python3实现一个简单的点餐系统。
设计思路
本点餐系统将实现以下功能:
- 用户可以点多种不同的菜品,每个菜品包括名称和价格。
- 用户可以查看当前订单,包含了已点的菜品和总价格。
- 用户可以确认订单并完成支付。
为了实现以上功能,我们将使用Python3中的面向对象编程(OOP)技术。由于点餐系统需要跟踪订单,因此我们将创建一个Order类,然后创建菜品类和用户界面类。
实现步骤
- 创建菜品类
我们首先创建一个菜品类(item class),包含以下属性:
- name(菜品名称)
- price(菜品价格)
class Item:
def __init__(self, name, price):
self.name = name
self.price = price
- 创建订单类
我们创建一个订单类(order class),来跟踪用户点菜的情况。该类有以下属性:
- items (一个列表,存储用户点的菜品)
- quantities (一个字典,存储每种菜品的数量)
- prices (一个字典,存储每种菜品的价格)
class Order:
def __init__(self):
self.items = []
self.quantities = {}
self.prices = {}
def add_item(self, item):
self.items.append(item)
if item.name in self.quantities:
self.quantities[item.name] += 1
else:
self.quantities[item.name] = 1
if item.name in self.prices:
self.prices[item.name] += item.price
else:
self.prices[item.name] = item.price
def remove_item(self, item):
if item.name in self.quantities and self.quantities[item.name] > 0:
self.items.remove(item)
self.quantities[item.name] -= 1
self.prices[item.name] -= item.price
- 创建用户界面类
我们创建一个用户界面类(user interface class),它会与用户进行交互。该类需要完成以下操作:
- 显示用户菜单界面
- 允许用户选择要点的菜品
- 显示当前订单的细节
- 允许用户确认订单
class UI:
menu = {
"pasta": Item("Pasta", 10),
"pizza": Item("Pizza", 13),
"salad": Item("Salad", 7)
}
def __init__(self):
self.order = Order()
def show_menu(self):
for key in self.menu:
print(key, self.menu[key].price)
def place_order(self):
order_done = False
while not order_done:
self.show_menu()
choice = input("Enter order (blank to end): ")
if choice.strip() == "":
order_done = True
else:
if choice in self.menu:
self.order.add_item(self.menu[choice])
else:
print("Choice not in menu")
def show_order(self):
for item in self.order.items:
print(item.name, self.order.quantities[item.name], " x ", item.price, " = ", self.order.prices[item.name])
print("Total Price: ", sum(self.order.prices.values()))
def confirm_order(self):
confirm = input("Confirm order (yes/no): ")
if confirm.lower() == "yes":
print("Order confirmed")
else:
print("Order canceled")
- 创建主方法
最后,我们创建一个main()函数,来打开用户界面并运行点餐系统
def main():
ui = UI()
ui.place_order()
ui.show_order()
ui.confirm_order()
if __name__ == "__main__":
main()
示范
以下是两个示例,演示了本点餐系统的基本用法。
示例1
输入一下命令:
Enter order (blank to end): pasta
pasta 1 x 10 = 10
Enter order (blank to end): pizza
pasta 1 x 10 = 10
pizza 1 x 13 = 13
Enter order (blank to end):
Total Price: 23
Confirm order (yes/no): yes
Order confirmed
示例2
输入一下命令:
Enter order (blank to end): bread
Choice not in menu
Enter order (blank to end): salad
salad 1 x 7 = 7
Enter order (blank to end): salad
salad 2 x 7 = 14
Enter order (blank to end):
Total Price: 21
Confirm order (yes/no): no
Order canceled
总结
我们使用Python3的面向对象编程技术,创建了一个简单的点餐系统,具有基本的菜品选择、订单跟踪和付款确认功能。这是非常基本的实现!如果您希望将其用于生产环境,则需要添加更多功能和验证。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3实现点餐系统 - Python技术站