- 实际应用场景描述
场景
某连锁餐厅在高峰时段需要快速统计各桌的消费情况,并找出人均消费最高的桌号,以便:
- 优化菜品推荐策略
- 识别高价值客户群体
- 进行精准营销
痛点
- 人工计算耗时且易出错
- 高峰期数据量大,Excel处理效率低
- 无法实时反馈给服务员或管理层
-
核心逻辑讲解
-
输入:桌号、就餐人数、消费金额(可批量输入)
-
计算:人均消费 = 消费金额 / 就餐人数
-
存储:用列表或字典保存每桌的数据
-
查找:遍历所有记录,找到人均消费最高的桌号
-
输出:打印结果
-
代码模块化设计
我们将代码分为:
"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()
- README.md
餐厅人均消费分析系统
项目简介
基于Python的快速人均消费分析工具,适用于餐饮行业高峰期的实时数据统计。
功能
- 输入桌号、人数、消费金额
- 计算人均消费
- 输出人均消费最高的桌号
安装与使用
- 确保已安装 Python 3.7+
- 克隆本项目
- 运行
python main.py
模块说明
data_input.py: 数据输入calculation.py: 计算逻辑analysis.py: 数据分析main.py: 主程序
适用场景
- 餐厅POS系统数据分析
- 营销决策支持
- 客户价值识别
-
使用说明
-
将代码保存为对应文件名
-
在终端执行: python main.py
-
查看控制台输出的各桌消费详情及最高人均消费桌号
-
核心知识点卡片
知识点 说明 列表与字典 用于存储结构化数据 函数封装 提高代码复用性与可维护性 异常处理 避免除零错误 max()与lambda 高效查找最大值 模块化设计 便于团队协作与扩展 大数据预处理 在真实场景中需结合Pandas/Spark处理海量数据
- 总结
本项目通过模块化Python编程,解决了餐厅高峰期人均消费分析的痛点:
- 实时性:秒级输出结果
- 准确性:避免人工计算错误
- 可扩展性:可接入数据库或API实现动态数据更新
未来可结合大数据技术(如Hadoop/Spark)处理全国门店数据,并利用机器学习预测高价值客户,实现真正的智能餐饮管理。
如果你需要,还可以把这个项目升级成Web版(Flask/Django)或者数据可视化看板(Matplotlib/Plotly),这样管理层可以直接在网页上看到分析结果。
利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!