项目51:简易个人健身记录工具【源代码】 --- 《跟着小王学Python·新手》
《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬虫、制作桌面软件等多样化项目,学习者可以深入理解并实践Python知识。每周更新1至2篇内容,旨在助力学习者成长为全栈工程师。
全栈实战项目访问:http://javapub.net.cn/
作为课程作业或者毕设参考也是不错的选择
目标
本项目旨在开发一个简易的个人健身记录工具,帮助用户记录和跟踪他们的健身活动。通过这个项目,新手可以学习到Python的基本语法、文件操作以及简单的数据处理技巧。
功能
- 记录用户的健身活动(如跑步、举重等)
- 记录每次活动的时间、日期和持续时间
- 查看历史健身记录
- 计算并显示总运动时间
设计
数据结构
- 使用字典来存储每次健身活动的详细信息,包括活动类型、日期、开始时间和结束时间。
- 使用列表来存储所有健身活动的记录。
用户界面
- 使用命令行界面与用户交互。
- 提供菜单选项供用户选择不同的功能.
文件存储
- 将健身记录保存到本地文件中,以便下次使用时可以读取历史数据。
- 使用JSON格式来存储数据,便于读写和解析。
实现步骤
- 设计数据结构和文件存储格式。
- 实现用户界面和菜单选项。
- 实现记录健身活动的功能。
- 实现查看历史记录的功能。
- 实现计算总运动时间的功能。
- 测试并调试程序。
代码实现
import json
import datetime
# 数据存储文件
DATA_FILE = 'fitness_records.json'
def load_records():
"""从文件中加载健身记录"""
try:
with open(DATA_FILE, 'r') as file:
return json.load(file)
except FileNotFoundError:
return []
def save_records(records):
"""将健身记录保存到文件"""
with open(DATA_FILE, 'w') as file:
json.dump(records, file, indent=4)
def add_record(records):
"""添加新的健身记录"""
activity = input("请输入健身活动类型(如跑步、举重等):")
start_time = input("请输入开始时间(格式:HH:MM):")
end_time = input("请输入结束时间(格式:HH:MM):")
date = datetime.datetime.now().strftime("%Y-%m-%d")
record = {
"activity": activity,
"date": date,
"start_time": start_time,
"end_time": end_time
}
records.append(record)
save_records(records)
print("记录已添加!")
def view_records(records):
"""查看历史健身记录"""
if not records:
print("暂无记录!")
return
for record in records:
print(f"日期:{record['date']}, 活动:{record['activity']}, 开始时间:{record['start_time']}, 结束时间:{record['end_time']}")
def calculate_total_time(records):
"""计算总运动时间"""
total_minutes = 0
for record in records:
start = datetime.datetime.strptime(record['start_time'], "%H:%M")
end = datetime.datetime.strptime(record['end_time'], "%H:%M")
total_minutes += (end - start).seconds // 60
print(f"总运动时间:{total_minutes}分钟")
def main():
records = load_records()
while True:
print("\n简易个人健身记录工具")
print("1. 添加健身记录")
print("2. 查看历史记录")
print("3. 计算总运动时间")
print("4. 退出")
choice = input("请选择操作(1-4):")
if choice == '1':
add_record(records)
elif choice == '2':
view_records(records)
elif choice == '3':
calculate_total_time(records)
elif choice == '4':
print("感谢使用!")
break
else:
print("无效的选项,请重新选择!")
if __name__ == "__main__":
main()
测试
- 测试添加记录功能:输入不同的健身活动和时间,检查记录是否正确保存.
- 测试查看记录功能:查看添加的记录是否正确显示.
- 测试计算总运动时间功能:检查计算结果是否准确.
注意事项
- 确保输入的时间格式正确(HH:MM),否则可能会导致程序出错.
- 在添加记录时,如果文件不存在,程序会自动创建文件并保存记录.
小结
通过本项目,新手可以学习到Python的基本语法、文件操作以及简单的数据处理技巧。同时,这个项目也展示了如何使用命令行界面与用户进行交互。希望这个项目能帮助你在Python学习的道路上更进一步!
如果你对Java编程感兴趣,可以访问JavaPub的官网 JavaPub 获取更多资源和学习资料.
《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬虫、制作桌面软件等多样化项目,学习者可以深入理解并实践Python知识。每周更新1至2篇内容,旨在助力学习者成长为全栈工程师。
全栈实战项目访问:http://javapub.net.cn/