项目34:简易饮食营养信息查询系统 — 《跟着小王学Python·新手》
《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬虫、制作桌面软件等多样化项目,学习者可以深入理解并实践Python知识。每周更新1至2篇内容,旨在助力学习者成长为全栈工程师。
作为课程作业或者毕设参考也是不错的选择
文章目录
- 项目34:简易饮食营养信息查询系统 --- 《跟着小王学Python·新手》
- 目标
- 功能
- 设计
- 数据结构设计
- 系统架构设计
- 实现步骤
- 代码实现
- 测试
- 注意事项
- 小结

目标
本项目旨在为新手提供一个简易的饮食营养信息查询系统,通过这个系统,用户可以查询不同食物的营养成分,以便更好地规划自己的饮食。本系统将使用Python语言开发,适合初学者学习如何构建一个简单的查询系统。

功能
- 查询功能:用户可以输入食物名称,系统返回该食物的营养成分信息。
- 数据展示:以表格形式展示查询结果,包括热量、蛋白质、脂肪等。
- 数据更新:管理员可以添加或更新食物的营养信息。
设计
数据结构设计
我们将使用一个简单的字典来存储食物及其营养信息,键为食物名称,值为另一个字典,包含热量、蛋白质、脂肪等信息。
# 示例数据结构
food_nutrients = {
"苹果": {"热量": 52, "蛋白质": 0.26, "脂肪": 0.17},
"香蕉": {"热量": 89, "蛋白质": 1.09, "脂肪": 0.33},
# 更多食物数据...
}系统架构设计
系统将分为以下几个部分:
- 数据存储:使用字典存储食物营养信息。
- 查询接口:提供函数接口,根据食物名称查询营养信息。
- 用户界面:简单的命令行界面,允许用户输入查询。
- 数据更新接口:提供函数接口,允许管理员更新食物营养信息。
实现步骤
- 初始化数据:创建一个包含食物营养信息的字典。
- 实现查询功能:编写函数,根据用户输入的食物名称查询营养信息。
- 实现数据更新功能:编写函数,允许管理员添加或更新食物营养信息。
- 创建用户界面:编写代码,创建一个简单的命令行界面,用户可以输入查询。
- 测试系统:对系统进行测试,确保查询和更新功能正常工作。
代码实现
# 简易饮食营养信息查询系统
# 数据存储
food_nutrients = {
"苹果": {"热量": 52, "蛋白质": 0.26, "脂肪": 0.17},
"香蕉": {"热量": 89, "蛋白质": 1.09, "脂肪": 0.33},
# 更多食物数据...
}
# 查询功能
def query_nutrients(food_name):
"""根据食物名称查询营养信息"""
nutrients = food_nutrients.get(food_name)
if nutrients:
print(f"{food_name}的营养信息:")
for nutrient, value in nutrients.items():
print(f"{nutrient}: {value}")
else:
print(f"抱歉,没有找到{food_name}的营养信息。")
# 数据更新功能
def update_nutrients(food_name, nutrients):
"""更新或添加食物营养信息"""
food_nutrients[food_name] = nutrients
print(f"{food_name}的营养信息已更新。")
# 用户界面
def main():
while True:
print("简易饮食营养信息查询系统")
print("1. 查询营养信息")
print("2. 更新营养信息")
print("3. 退出")
choice = input("请选择操作:")
if choice == "1":
food_name = input("请输入食物名称:")
query_nutrients(food_name)
elif choice == "2":
food_name = input("请输入食物名称:")
nutrients = {}
nutrients["热量"] = int(input("请输入热量:"))
nutrients["蛋白质"] = float(input("请输入蛋白质:"))
nutrients["脂肪"] = float(input("请输入脂肪:"))
update_nutrients(food_name, nutrients)
elif choice == "3":
print("退出系统。")
break
else:
print("无效选项,请重新选择。")
if __name__ == "__main__":
main()测试
- 查询测试:输入已知的食物名称,检查是否返回正确的营养信息。
- 更新测试:更新一个食物的营养信息,然后查询以验证更新是否成功。
- 边界测试:输入不存在的食物名称,检查系统是否正确处理。
注意事项
- 确保输入的食物名称与字典中的键匹配,否则系统将返回没有找到信息的提示。
- 更新营养信息时,确保输入的数据类型正确,以避免程序错误。
小结
通过本项目,新手可以学习到如何使用Python构建一个简单的查询系统,包括数据存储、函数编写、用户界面设计等基础知识。希望这个项目能够帮助新手更好地理解Python编程,并激发他们进一步学习的兴趣。
















