输入某餐厅的桌号,就餐人数,消费金额,计算人均消费,输出消费最高的桌号。

29 阅读3分钟
  1. 实际应用场景描述

场景

某连锁餐厅在高峰时段需要快速统计各桌的消费情况,并找出人均消费最高的桌号,以便:

  • 优化菜品推荐策略
  • 识别高价值客户群体
  • 进行精准营销

痛点

  • 人工计算耗时且易出错
  • 高峰期数据量大,Excel处理效率低
  • 无法实时反馈给服务员或管理层
  1. 核心逻辑讲解

  2. 输入:桌号、就餐人数、消费金额(可批量输入)

  3. 计算:人均消费 = 消费金额 / 就餐人数

  4. 存储:用列表或字典保存每桌的数据

  5. 查找:遍历所有记录,找到人均消费最高的桌号

  6. 输出:打印结果

  7. 代码模块化设计

我们将代码分为:

"data_input.py":数据输入模块

"calculation.py":计算人均消费模块

"analysis.py":分析最高人均消费模块

"main.py":主程序入口

3.1 "data_input.py"

data_input.py

def get_table_data(): """ 模拟从POS系统或用户输入获取餐桌数据 返回: list of dict, 每个dict包含 table_id, people_count, total_amount """ # 示例数据,实际可从数据库/API/用户输入获取 return [ {"table_id": "A1", "people_count": 2, "total_amount": 200}, {"table_id": "B3", "people_count": 4, "total_amount": 500}, {"table_id": "C2", "people_count": 3, "total_amount": 450}, {"table_id": "D5", "people_count": 1, "total_amount": 120} ]

3.2 "calculation.py"

calculation.py

def calculate_per_capita(data): """ 计算每桌的人均消费 :param data: list of dict :return: list of dict with per_capita added """ for record in data: if record["people_count"] > 0: record["per_capita"] = record["total_amount"] / record["people_count"] else: record["per_capita"] = 0 # 避免除零错误 return data

3.3 "analysis.py"

analysis.py

def find_highest_per_capita(data): """ 找出人均消费最高的桌号 :param data: list of dict with per_capita field :return: tuple (table_id, per_capita) """ highest = max(data, key=lambda x: x["per_capita"]) return highest["table_id"], highest["per_capita"]

3.4 "main.py"

main.py

from data_input import get_table_data from calculation import calculate_per_capita from analysis import find_highest_per_capita

def main(): print("=== 餐厅人均消费分析系统 ===") # 获取数据 table_data = get_table_data()

# 计算人均消费
table_data_with_per_capita = calculate_per_capita(table_data)

# 输出详细数据
print("\n各桌消费详情:")
for record in table_data_with_per_capita:
    print(f"桌号: {record['table_id']}, 人数: {record['people_count']}, "
          f"总金额: {record['total_amount']}, 人均: {record['per_capita']:.2f}")

# 找出最高人均消费的桌号
top_table, top_per_capita = find_highest_per_capita(table_data_with_per_capita)
print(f"\n🎯 人均消费最高的桌号是: {top_table}, 人均消费: {top_per_capita:.2f} 元")

if name == "main": main()

  1. README.md

餐厅人均消费分析系统

项目简介

基于Python的快速人均消费分析工具,适用于餐饮行业高峰期的实时数据统计。

功能

  • 输入桌号、人数、消费金额
  • 计算人均消费
  • 输出人均消费最高的桌号

安装与使用

  1. 确保已安装 Python 3.7+
  2. 克隆本项目
  3. 运行 python main.py

模块说明

  • data_input.py: 数据输入
  • calculation.py: 计算逻辑
  • analysis.py: 数据分析
  • main.py: 主程序

适用场景

  • 餐厅POS系统数据分析
  • 营销决策支持
  • 客户价值识别
  1. 使用说明

  2. 将代码保存为对应文件名

  3. 在终端执行: python main.py

  4. 查看控制台输出的各桌消费详情及最高人均消费桌号

  5. 核心知识点卡片

知识点 说明 列表与字典 用于存储结构化数据 函数封装 提高代码复用性与可维护性 异常处理 避免除零错误 max()与lambda 高效查找最大值 模块化设计 便于团队协作与扩展 大数据预处理 在真实场景中需结合Pandas/Spark处理海量数据

  1. 总结

本项目通过模块化Python编程,解决了餐厅高峰期人均消费分析的痛点:

  • 实时性:秒级输出结果
  • 准确性:避免人工计算错误
  • 可扩展性:可接入数据库或API实现动态数据更新

未来可结合大数据技术(如Hadoop/Spark)处理全国门店数据,并利用机器学习预测高价值客户,实现真正的智能餐饮管理。

如果你需要,还可以把这个项目升级成Web版(Flask/Django)或者数据可视化看板(Matplotlib/Plotly),这样管理层可以直接在网页上看到分析结果。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!