家庭清洁计划表生成工具,输入家庭面积,人数,生成每日/每周/每月清洁清单,标注重点区域和耗时,支持打卡,上清洁有条理,不遗漏死角。
1. 实际应用场景与痛点
场景
现代家庭对居住环境要求越来越高,但清洁工作常常:
- 没有系统规划,想到什么做什么
- 容易遗漏死角(如冰箱后面、窗台缝隙)
- 多人居住时责任不清
- 清洁频率不合理(有的区域天天擦,有的半年没动)
痛点
1. 无计划性:清洁工作随意,效率低。
2. 死角遗漏:某些区域长期不清理。
3. 耗时不明:不清楚每项清洁需要多久。
4. 缺乏打卡:做完没记录,容易重复或遗忘。
5. 多人协作难:家庭成员分工不明确。
2. 核心逻辑讲解
1. 输入参数
- 家庭面积(㎡)
- 居住人数
- 宠物情况(可选)
2. 区域划分与清洁频率
- 高频区(厨房、卫生间)→ 每日/每周
- 中频区(客厅、卧室)→ 每周
- 低频区(窗户、空调滤网)→ 每月
3. 耗时估算
- 根据面积和人数动态调整(人多则公共区域清洁频率高)
4. 重点区域标注
- 根据面积和宠物情况增加特定区域(如宠物毛发清理)
5. 生成计划表
- 按日/周/月分类输出
6. 打卡功能
- 记录已完成任务,避免重复
7. 数据持久化
- 使用 JSON 存储计划与打卡记录
3. 项目结构
home_cleaning_planner/
├── main.py # 主程序入口
├── planner.py # 清洁计划生成逻辑
├── tracker.py # 打卡记录管理
├── data/ # 数据存储
│ └── cleaning_data.json
├── README.md
└── USAGE.md
4. 核心代码
"planner.py"
import json
import os
DATA_FILE = "data/cleaning_data.json"
class CleaningPlanner:
def __init__(self):
os.makedirs("data", exist_ok=True)
self.data = self.load_data()
def load_data(self):
if os.path.exists(DATA_FILE):
with open(DATA_FILE, "r", encoding="utf-8") as f:
return json.load(f)
return {"plans": [], "records": []}
def save_data(self):
with open(DATA_FILE, "w", encoding="utf-8") as f:
json.dump(self.data, f, ensure_ascii=False, indent=4)
def generate_plan(self, area, people, has_pet=False):
# 基础区域与耗时
areas = {
"厨房台面": {"freq": "daily", "time": 10},
"厨房地面": {"freq": "daily", "time": 8},
"卫生间洗手台": {"freq": "daily", "time": 7},
"卫生间马桶": {"freq": "daily", "time": 6},
"客厅地面": {"freq": "weekly", "time": 15},
"卧室地面": {"freq": "weekly", "time": 12},
"窗户玻璃": {"freq": "monthly", "time": 20},
"空调滤网": {"freq": "monthly", "time": 30},
}
# 根据面积调整
if area > 120:
areas["客厅地面"]["time"] += 5
areas["卧室地面"]["time"] += 5
# 根据人数调整
if people > 3:
areas["厨房台面"]["time"] += 3
areas["卫生间洗手台"]["time"] += 3
# 宠物额外区域
if has_pet:
areas["宠物毛发清理"] = {"freq": "daily", "time": 10}
plan = {"area": area, "people": people, "has_pet": has_pet, "tasks": areas}
self.data["plans"].append(plan)
self.save_data()
return plan
"tracker.py"
import json
from datetime import datetime
class CleaningTracker:
def __init__(self):
self.file = "data/cleaning_data.json"
with open(self.file, "r", encoding="utf-8") as f:
self.data = json.load(f)
def mark_done(self, plan_index, task_name):
record = {
"plan_index": plan_index,
"task": task_name,
"date": datetime.now().strftime("%Y-%m-%d %H:%M")
}
self.data["records"].append(record)
with open(self.file, "w", encoding="utf-8") as f:
json.dump(self.data, f, ensure_ascii=False, indent=4)
return record
"main.py"
from planner import CleaningPlanner
from tracker import CleaningTracker
def print_plan(plan):
print(f"\n家庭面积: {plan['area']}㎡, 人数: {plan['people']}, 宠物: {'有' if plan['has_pet'] else '无'}")
print("=== 清洁计划 ===")
for task, info in plan["tasks"].items():
print(f"{task} [{info['freq']}] - 预计耗时: {info['time']}分钟")
def main():
planner = CleaningPlanner()
while True:
print("\n1. 生成清洁计划")
print("2. 查看最新计划")
print("3. 打卡完成任务")
print("0. 退出")
choice = input("选择: ").strip()
if choice == "1":
area = int(input("家庭面积(㎡): "))
people = int(input("人数: "))
pet = input("是否有宠物(y/n): ").lower() == "y"
plan = planner.generate_plan(area, people, pet)
print_plan(plan)
elif choice == "2":
if planner.data["plans"]:
print_plan(planner.data["plans"][-1])
else:
print("暂无计划")
elif choice == "3":
if not planner.data["plans"]:
print("请先生成计划")
continue
print_plan(planner.data["plans"][-1])
task = input("输入完成的任务名: ")
tracker = CleaningTracker()
rec = tracker.mark_done(len(planner.data["plans"]) - 1, task)
print(f"✅ 已打卡: {rec['task']} @ {rec['date']}")
elif choice == "0":
break
else:
print("无效选择")
if __name__ == "__main__":
main()
5. README.md
# 🧹 家庭清洁计划表生成工具
一个用 Python 编写的 CLI 工具,根据家庭面积、人数、宠物情况生成科学的清洁计划,并支持打卡记录。
## 功能
- 动态生成每日/每周/每月清洁任务
- 标注重点区域与预计耗时
- 打卡记录完成情况
- 数据持久化(JSON)
## 安装
bash
git clone "https://github.com/yourname/home_cleaning_planner.git" (https://github.com/yourname/home_cleaning_planner.git)
cd home_cleaning_planner
## 运行
bash
python main.py
6. USAGE.md
# 使用说明
1. 选择 `1` 输入家庭信息生成计划。
2. 选择 `2` 查看最新计划。
3. 选择 `3` 打卡完成任务。
4. 数据保存在 `data/cleaning_data.json`。
7. 核心知识点卡片
知识点 说明
JSON 数据持久化 存储计划和打卡记录
模块化设计 分离计划生成与打卡逻辑
动态参数调整 根据面积、人数、宠物调整任务耗时
频率分类 daily/weekly/monthly 任务划分
命令行交互 简单 CLI 实现用户操作
时间戳记录 使用
"datetime" 记录打卡时间
8. 总结
这个工具解决了清洁无计划、死角遗漏、耗时不明、缺乏打卡的问题,通过参数化生成 + 分类管理 + 打卡追踪,让家庭清洁变得有条理、可量化、可持续。
它可以进一步扩展为:
- 微信小程序(方便手机打卡)
- Web 版(多设备同步)
- 智能提醒(结合日历 API)
如果你愿意,可以下一步做一个 带图形界面的版本(Tkinter),让非技术用户也能轻松使用。
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!
