当前位置: 首页 > wzjs >正文

成都网站建设服务关键词排名点击软件

成都网站建设服务,关键词排名点击软件,深圳的设计网站公司,乡村旅游网站建设目录 摘要 一、班级管理系统(含成绩模块) 1. 功能概述 2. 完整代码与解析 3. 代码解析与亮点 二、会议管理系统 1. 功能概述 2. 完整代码 3. 代码解析与亮点 三、购物车管理系统 1. 功能概述 2. 完整代码 3. 代码解析与亮点 四、总结与扩…

目录

摘要

一、班级管理系统(含成绩模块)

1. 功能概述

2. 完整代码与解析 

3. 代码解析与亮点

二、会议管理系统

1. 功能概述

2. 完整代码

3. 代码解析与亮点

三、购物车管理系统

1. 功能概述

2. 完整代码

3. 代码解析与亮点

四、总结与扩展思路

1. 技术对比

2. 扩展思路

五、资源推荐


摘要

本文通过三个Python实战项目——班级管理系统会议管理系统购物车管理系统,全面解析如何利用字典(Dictionary)实现多层数据管理与用户交互。每个项目均包含完整代码、核心解析和优化方案,适合学习字典嵌套、函数封装和模块化编程。

一、班级管理系统(含成绩模块)

1. 功能概述

  • 班级管理:添加班级、查看班级列表。

  • 学生管理:添加学生信息(学号、联系方式)。

  • 成绩管理:录入学生成绩、计算平均分。

  • 数据展示:分层显示班级、学生及成绩详情。

2. 完整代码与解析 

"""班级管理系统(含成绩模块)数据结构:三层嵌套字典(班级 -> 学生 -> 详细信息)
"""
students_dic = {}def add_classes(class_name):"""添加班级(非空校验)"""if not class_name.strip():print("错误:班级名称不能为空!")returnstudents_dic[class_name] = {}print(f"班级 [{class_name}] 添加成功!")def add_students(class_name, student_name, student_id, student_phone):"""添加学生(扩展成绩字段)"""if class_name not in students_dic:print(f"错误:班级 [{class_name}] 不存在!")returnstudents_dic[class_name][student_name] = {"学号": student_id,"电话": student_phone,"成绩": {}  # 成绩存储为字典,格式:{"科目": 分数}}print(f"学生 [{student_name}] 添加成功!")def add_grade(class_name, student_name, subject, grade):"""添加成绩(校验分数有效性)"""if class_name not in students_dic:print(f"错误:班级 [{class_name}] 不存在!")returnif student_name not in students_dic[class_name]:print(f"错误:学生 [{student_name}] 不存在!")returntry:grade = float(grade)if grade < 0 or grade > 100:raise ValueErrorexcept ValueError:print("错误:成绩必须是0-100的数字!")returnstudents_dic[class_name][student_name]["成绩"][subject] = gradeprint(f"成绩录入成功:{student_name} 的 {subject} 为 {grade} 分")def get_students():"""打印学生列表(含平均分)"""if not students_dic:print("暂无数据")returnfor class_name, students in students_dic.items():print(f"\n=== 班级:{class_name} ===")for name, info in students.items():grades = info["成绩"]avg = sum(grades.values()) / len(grades) if grades else 0print(f"  ├─ 学生:{name}")print(f"  ├─ 学号:{info['学号']}")print(f"  ├─ 电话:{info['电话']}")print(f"  └─ 成绩:{grades} | 平均分:{avg:.1f}")# 主程序交互逻辑
while True:print("\n========== 班级管理系统 ==========")print("1.添加班级 2.添加学生 3.录入成绩 4.学生列表 5.退出")option = input("请输入操作编号:").strip()if option == "1":class_name = input("请输入班级名称:").strip()add_classes(class_name)elif option == "2":class_name = input("请输入班级名称:").strip()if class_name in students_dic:name = input("学生姓名:").strip()stu_id = input("学号:").strip()phone = input("联系方式:").strip()add_students(class_name, name, stu_id, phone)else:print(f"班级 [{class_name}] 不存在!")elif option == "3":class_name = input("请输入班级名称:").strip()if class_name in students_dic:student_name = input("学生姓名:").strip()if student_name in students_dic[class_name]:subject = input("科目:").strip()grade = input("分数(0-100):").strip()add_grade(class_name, student_name, subject, grade)else:print(f"学生 [{student_name}] 不存在!")else:print(f"班级 [{class_name}] 不存在!")elif option == "4":get_students()elif option == "5":print("系统已退出!")breakelse:print("输入错误,请重新输入!")

3. 代码解析与亮点

数据结构

students_dic = {"Python班": {"张三": {"学号": "2023001","电话": "13800138000","成绩": {"数学": 90.0, "Python编程": 85.5}}}
}
  • 三层嵌套字典班级 -> 学生 -> {学号, 电话, 成绩},结构清晰易扩展。

动态平均分计算

avg = sum(grades.values()) / len(grades) if grades else 0
  • 输入校验

    • 班级名称非空、成绩范围限制(0-100)。

二、会议管理系统

1. 功能概述

  • 会议预约:输入编号、主题、内容,自动查重。

  • 会议列表:展示所有会议信息。

  • 数据持久化:退出时保存数据到JSON文件。

2. 完整代码

"""会议管理系统数据结构:字典(会议编号 -> [主题, 内容])
"""
import json
meeting_dic = {}def add_meeting(meeting_number, meeting_title, meeting_info):"""添加会议(查重与非空校验)"""if meeting_number in meeting_dic:print("错误:会议编号重复!")returnif not all([meeting_number, meeting_title, meeting_info]):print("错误:编号、主题或内容不能为空!")returnmeeting_dic[meeting_number] = [meeting_title, meeting_info]print("会议添加成功!")def list_meeting():"""打印所有会议"""if not meeting_dic:print("暂无会议记录")returnprint("\n=== 会议列表 ===")for num, details in meeting_dic.items():print(f"编号:{num} | 主题:{details[0]} | 内容:{details[1]}")def save_meetings():"""保存数据到JSON文件"""with open("meetings.json", "w", encoding="utf-8") as f:json.dump(meeting_dic, f, ensure_ascii=False)print("数据已保存至 meetings.json")# 主程序交互逻辑
while True:print("\n========== 会议管理系统 ==========")print("1.添加会议 2.会议列表 3.退出")choice = input("请输入操作编号:").strip()if choice == "1":num = input("请输入会议编号:").strip()title = input("请输入会议主题:").strip()info = input("请输入会议内容:").strip()add_meeting(num, title, info)elif choice == "2":list_meeting()elif choice == "3":save_meetings()print("系统已退出!")breakelse:print("输入错误,请重新输入!")

3. 代码解析与亮点

  • 数据持久化

with open("meetings.json", "w", encoding="utf-8") as f:json.dump(meeting_dic, f, ensure_ascii=False)
  • 使用json模块保存数据,重启程序不丢失。

  • 输入校验

    • 会议编号查重、主题和内容非空校验。

三、购物车管理系统

1. 功能概述

  • 商品管理:添加、删除商品,校验价格和数量。

  • 购物车清单:展示商品明细并计算总价。

2. 完整代码

"""购物车管理系统数据结构:字典(商品编号 -> [名称, 价格, 数量])
"""
product_dic = {}def add_shoppingcart(product_number, product_name, product_price, product_quantity):"""添加商品(校验价格和数量)"""try:price = float(product_price)quantity = int(product_quantity)if price <= 0 or quantity <= 0:raise ValueErrorexcept ValueError:print("错误:价格或数量必须是正数!")returnproduct_dic[product_number] = [product_name, price, quantity]print("商品添加成功!")def delete_shoppingcart(product_number):"""删除商品(友好提示)"""if product_number in product_dic:del product_dic[product_number]print(f"商品 {product_number} 已删除!")else:print("错误:商品不存在!")def get_shoppingcart():"""打印购物车清单(含总价)"""if not product_dic:print("购物车为空")returntotal = 0.0print("\n=== 购物车清单 ===")for num, details in product_dic.items():print(f"编号:{num} | 名称:{details[0]} | 单价:{details[1]}元 | 数量:{details[2]}")total += details[1] * details[2]print(f"\n总金额:{total:.2f}元")# 主程序交互逻辑
while True:print("\n========== 购物车管理系统 ==========")print("1.添加商品 2.删除商品 3.查看清单 4.退出")choice = input("请输入操作编号:").strip()if choice == "1":num = input("请输入商品编号:").strip()name = input("请输入商品名称:").strip()price = input("请输入商品价格:").strip()quantity = input("请输入商品数量:").strip()add_shoppingcart(num, name, price, quantity)elif choice == "2":num = input("请输入要删除的商品编号:").strip()delete_shoppingcart(num)elif choice == "3":get_shoppingcart()elif choice == "4":print("感谢使用,再见!")breakelse:print("输入错误,请重新输入!")

3. 代码解析与亮点

数据校验

price = float(product_price)
quantity = int(product_quantity)
if price <= 0 or quantity <= 0:raise ValueError
  • 确保价格和数量为有效正数。

总价计算

total += details[1] * details[2]
print(f"总金额:{total:.2f}元")
  • 实时累加总价,保留两位小数。

四、总结与扩展思路

1. 技术对比

系统数据结构核心优化点
班级管理系统三层嵌套字典动态平均分、输入校验
会议管理系统单层字典数据持久化(JSON)、查重
购物车管理系统单层字典总价计算、数据合法性校验

2. 扩展思路

  • 班级系统:按科目统计班级平均分,生成成绩报告。

  • 会议系统:增加会议时间字段,支持按日期筛选。

  • 购物车系统:实现商品分类(如电子产品、食品)。

五、资源推荐

  • 书籍:《Python编程:从入门到实践》《流畅的Python》

  • 工具:PyCharm(代码调试)、Jupyter Notebook(快速验证逻辑)

  • 社区:CSDN(技术文章)、GitHub(开源项目参考)

在评论区分享你的优化方案或遇到的问题,共同进步! 💬

http://www.dtcms.com/wzjs/360089.html

相关文章:

  • 学习做网站建设的学校山东济南最新消息
  • 企业网站那几点重要商丘搜索引擎优化
  • 做字体网站在线工具
  • 新闻网站开发书籍青岛seo培训
  • 安徽住房和建设厅网站深圳市住房和建设局官网
  • 网站做的不满意英语培训机构前十名
  • 网站建设案例精粹 电子书seo技术培训唐山
  • 免费做自己的网站百度网站官网入口网址
  • 网站编辑没有经验可以做吗百度热搜词排行榜
  • 店面设计怎么样长春做网络优化的公司
  • 江门恒阳网站建设seo搜索引擎优化包邮
  • 医疗动态网站开发seo优化宣传
  • 政府门户网站建设的目的数据分析师需要学哪些课程
  • 北辰做网站公司提升seo排名的方法
  • 重庆做网站 哪个好些嘛淄博做网站的公司
  • 推荐做素菜的网站百度主页网址
  • wordpress 5编辑器使用教程seo赚钱
  • 小猪网站怎么做的社会化媒体营销
  • 网站认证打款怎么做分录aso优化违法吗
  • 网站上有声的文章是怎么做的公司网址怎么注册
  • 软件网站建设专业百度开户公司
  • 邢台做移动网站报价十大广告公司
  • 泰安企业建站公司电话5118数据分析平台
  • 网站开发的ie兼容做到9免费广告发布平台app
  • 电子网站建设怎么做qq营销软件
  • 用h5做网站首页代码品牌策略的7种类型
  • 帮朋友做网站百度首页排名优化哪家专业
  • 做web网站需要做网络通信吗什么是域名
  • 易云巢做网站公司seo推广培训学费
  • 推广合作seo网站分析