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

discuz建网站网站关键词挖掘

discuz建网站,网站关键词挖掘,手机传奇手游发布网站,广州一建建设集团目录 摘要 一、班级管理系统(含成绩模块) 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/254963.html

相关文章:

  • 网站服务器ip地址在哪里看深圳疫情防控最新消息
  • 一个人做网站现实吗nba最新排名公布
  • 天门市住房和城乡建设委员会网站新网域名注册官网
  • 福建省政府门户网站建设情况网站自动秒收录工具
  • 温州市网站制作seo优化招聘
  • 权重7以上的网站未来网络营销的发展趋势
  • 浦东新区建设交通委网站打开免费百度啊
  • 公司做网站需准备什么材料宣传链接怎么做
  • 网站服务器做哪些安全措施搜索引擎收录入口
  • 免费的域名网站关键信息基础设施安全保护条例
  • wordpress获取id中山seo关键词
  • 政府网站wap门户建设方案企业网站营销实现方式
  • 微盟属于营销型手机网站百度网站流量统计
  • 企业网站建立的失败案例app如何推广
  • 做药的常用网站有哪些长沙seo优化哪家好
  • 做图书网站赚钱么黄冈网站推广厂家
  • 网站建设收费标准报价中国十大搜索引擎排名最新
  • 南宁网站建设7make信息发布推广方法
  • 嘉兴做网站公司哪家好seo的作用
  • 外包公司能去吗成都网站排名生客seo怎么样
  • 平板电脑可以做淘宝网站吗广告外链购买交易平台
  • 建设银行南通通州支行网站软文推广做得比较好的推广平台
  • 门户网站与官网的区别广告推广方式
  • 微信网站开发企业搜索数据
  • 做网站前焊工培训内容有哪些
  • 网站怎么添加js广告位临沂做网站建设公司
  • 建一个网站怎么赚钱廊坊百度推广seo
  • 网站建设与管理任务分工广州网络推广公司排名
  • 网站设计制作行业排行seo网站推广平台
  • 网站建设和技术支持数据分析师报考官网