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

国内有做网游评测的网站么北京网站优化首页

国内有做网游评测的网站么,北京网站优化首页,婚庆网站建设公司,广州网站推广方案第三周 Day 5 🎯 今日目标 运用类与对象封装学生数据与操作实现添加、查询、删除、排序等功能使用魔术方法美化输出 📦 项目需求描述 我们要构建一个简易的学生成绩管理系统,功能包括: 添加学生(姓名、学号、成绩&…

第三周 Day 5

🎯 今日目标

  • 运用类与对象封装学生数据与操作
  • 实现添加、查询、删除、排序等功能
  • 使用魔术方法美化输出

📦 项目需求描述

我们要构建一个简易的学生成绩管理系统,功能包括:

  1. 添加学生(姓名、学号、成绩)
  2. 查询所有学生
  3. 查找指定学号学生
  4. 删除学生
  5. 按成绩排序输出
  6. 退出系统

🧬 设计类结构

class Student:def __init__(self, sid, name, score):self.sid = sidself.name = nameself.score = scoredef __str__(self):return f"{self.sid:<6} {self.name:<10} {self.score:<5}"class StudentManager:def __init__(self):self.students = []def add_student(self, sid, name, score):self.students.append(Student(sid, name, score))def show_all(self):print(f"{'学号':<6} {'姓名':<10} {'成绩':<5}")for stu in self.students:print(stu)def find_by_sid(self, sid):for stu in self.students:if stu.sid == sid:print("找到学生:", stu)returnprint("未找到该学号的学生。")def delete_by_sid(self, sid):for stu in self.students:if stu.sid == sid:self.students.remove(stu)print("删除成功!")returnprint("删除失败,未找到该学号。")def sort_by_score(self):self.students.sort(key=lambda x: x.score, reverse=True)print("成绩排序成功!")self.show_all()

🧪 主程序入口

def run():manager = StudentManager()while True:print("\n==== 学生成绩管理系统 ====")print("1. 添加学生")print("2. 显示所有学生")print("3. 查找学生")print("4. 删除学生")print("5. 按成绩排序")print("6. 退出")choice = input("请输入操作编号:")if choice == "1":sid = input("请输入学号:")name = input("请输入姓名:")try:score = float(input("请输入成绩:"))manager.add_student(sid, name, score)print("添加成功!")except:print("成绩格式不正确!")elif choice == "2":manager.show_all()elif choice == "3":sid = input("请输入要查找的学号:")manager.find_by_sid(sid)elif choice == "4":sid = input("请输入要删除的学号:")manager.delete_by_sid(sid)elif choice == "5":manager.sort_by_score()elif choice == "6":print("感谢使用,已退出。")breakelse:print("输入无效,请重新输入。")

👉 最后在底部加一句:

if __name__ == "__main__":run()

📝 今日练习任务

  1. 增加一个功能:根据姓名模糊搜索学生

    我们在 StudentManager 类中新增一个方法 search_by_name:

    def search_by_name(self, keyword):result = [stu for stu in self.students if keyword.lower() in stu.name.lower()]if result:print(f"{'学号':<6} {'姓名':<10} {'成绩':<5}")for stu in result:print(stu)else:print("未找到相关学生。")
    

    在主循环中添加对应的选项:

    elif choice == "7":keyword = input("请输入要查找的姓名关键词:")manager.search_by_name(keyword)
    

    别忘了在菜单中加入:

    print("7. 按姓名模糊查找")
    
  2. 为 Student 类增加一个 eq 方法,便于比较对象是否相同(学号相同即为同一人)
    我们在 Student 类中添加:

    def __eq__(self, other):if isinstance(other, Student):return self.sid == other.sidreturn False
    

    这个方法可以让我们用 == 比较两个 Student 对象是否代表同一位学生(通过学号)。


🧾 今日总结

技术点应用说明
类与对象将学生抽象为对象,提高代码清晰度和扩展性
魔术方法 str优化输出格式
排序函数 + lambda实现根据对象属性排序
结构设计思维体现类封装、方法划分、模块职责分离等理念
http://www.dtcms.com/a/417196.html

相关文章:

  • 汉川网站制作公司做网站的价格江阴
  • 企业网站底部wordpress 模版标签
  • 企业门户网站网上销售推广方案
  • 如何查看自己制作的网站网站如何安装dedecms
  • 龙华网站 建设信科网络网站做权重的方法
  • 响应式门户网站免费做网站优化
  • 购物类网站开发seo搜索是什么意思
  • 网站开发与维护专业前景性价比高的服务器
  • 破解php网站后台密码工作室建设方案怎么写
  • 南和网站seo室内装修免费咨询
  • 网站建设的设计方案和实施计划7k7k传奇世界网页版
  • .net开发的大型网站网站前端模板下载
  • 高端型网站建设的网站百度搜不到
  • 广州旅游网站建设设计网站没有后台登陆文件夹
  • 我国市级网站建设分析模板html5微网站模板
  • 做博物馆网站最重要进入公众号提示微信授权失败
  • 成都酒吧设计公司安徽百度关键词优化
  • 360网站收录机械电子工程网
  • 做淘宝是不是要两根网站做网站的数据从哪里来
  • 外贸常用网站床上爱做网站
  • 网站开发后期工作包括那两个部分宣传图制作网站
  • 哪项不属于网站架构一个服务器下怎么做两个网站吗
  • 免费设计软件下载网站大全华为商城官网
  • 个人网站可以做产品众筹吗google推广专员招聘
  • 网站性能优化方法网线水晶头排线图片
  • 邯郸做网站多少钱开发一款新闻app需要多少钱
  • 广东省网站集约化建设工商变更
  • 百度优化软件宿迁seo
  • 西青网站文化建设wordpress 板块
  • 一般给公司做网站怎么收费山西做网站的公司哪个好