【赠书第15期】案例学Python(基础篇)

文章目录

前言

1 简介

2 功能列表

3 实现

3.1 学生类

3.2 学生管理系统类

3.3 使用示例

4 推荐图书

5 粉丝福利

前言

当涉及案例学 Python 时,可以选择一个具体的问题或场景,通过编写代码来解决或模拟这个问题。以下是一个例子,通过 Python 来实现一个简单的学生成绩管理系统。

案例:学生成绩管理系统

1 简介

在这个案例中,我们将创建一个简单的学生成绩管理系统,用于记录学生的基本信息和他们的考试成绩。我们将使用 Python 编写一个控制台应用程序,具有添加学生、查看学生信息、录入成绩等功能。

2 功能列表

添加学生:输入学生的姓名、年龄等信息,并生成一个唯一的学生 ID
查看学生信息:通过学生 ID 或姓名查看学生的详细信息。
录入成绩:为学生录入考试成绩,包括科目和分数。
统计成绩:计算学生的平均分、最高分、最低分等统计信息。

3 实现

3.1 学生类

首先,我们创建一个学生类来表示学生的基本信息。

class Student:
    def __init__(self, student_id, name, age):
        self.student_id = student_id
        self.name = name
        self.age = age
        self.scores = {}  # 用于存储学生成绩的字典

    def add_score(self, subject, score):
        self.scores[subject] = score

    def get_average_score(self):
        if not self.scores:
            return 0
        return sum(self.scores.values()) / len(self.scores)

3.2 学生管理系统类

然后,我们创建一个学生管理系统类,用于管理学生的增删改查操作。

class StudentManagementSystem:
    def __init__(self):
        self.students = {}  # 用于存储学生对象的字典

    def add_student(self, name, age):
        student_id = len(self.students) + 1
        student = Student(student_id, name, age)
        self.students[student_id] = student
        return student_id

    def get_student_info(self, identifier):
        if isinstance(identifier, int):
            return self.students.get(identifier)
        elif isinstance(identifier, str):
            for student in self.students.values():
                if student.name == identifier:
                    return student
        return None

    def record_score(self, student_id, subject, score):
        student = self.students.get(student_id)
        if student:
            student.add_score(subject, score)

    def display_student_info(self, student_id):
        student = self.students.get(student_id)
        if student:
            print(f"学生ID: {student.student_id}")
            print(f"姓名: {student.name}")
            print(f"年龄: {student.age}")
            if student.scores:
                print("成绩:")
                for subject, score in student.scores.items():
                    print(f"{subject}: {score}")
                print(f"平均分: {student.get_average_score()}")
            else:
                print("暂无成绩信息")
        else:
            print("未找到学生信息")

3.3 使用示例

最后,我们可以创建一个简单的交互式界面来演示学生成绩管理系统的使用。

def main():
    sms = StudentManagementSystem()

    # 添加学生
    student_id_1 = sms.add_student("张三", 18)
    student_id_2 = sms.add_student("李四", 19)

    # 录入成绩
    sms.record_score(student_id_1, "数学", 90)
    sms.record_score(student_id_1, "英语", 85)
    sms.record_score(student_id_2, "数学", 88)
    sms.record_score(student_id_2, "英语", 92)

    # 查看学生信息
    sms.display_student_info(student_id_1)
    sms.display_student_info(student_id_2)

if __name__ == "__main__":
    main()

在这个案例中,我们通过创建学生类和学生管理系统类,实现了一个简单的学生成绩管理系统。这个系统具有基本的学生信息管理、成绩录入和查询功能。你可以根据实际需求扩展功能,比如增加删除学生、导入导出数据等功能。

这只是一个简单的例子,实际应用中可能需要更多的功能和复杂性。希望这个案例能够帮助你理解如何使用Python来实现一个小型的学生成绩管理系统。

4 推荐图书

 《案例学Python(基础篇)》

循序渐进地讲解Python语言的基本知识

案例趣味加实用,提高读者学习兴趣

提供在线技术支持, 解决自学者的痛点

配套资源丰富,包含视频、PPT、源码等

本书特色

(1) 完全零基础,门槛低。

为了使初学者能够完全看懂本书的内容,本书遵循“从入门到精通”基础类图书的写法,循序渐进地讲解 Python 语言的基本知识。

(2) 案例有趣味性且实用,提高学习兴趣。

本书中的每一个案例都富有趣味性且与现实生活息息相关,一改传统编程书强迫灌输式的讲解方式,这样可以提高初学者的学习兴趣,在熟悉有趣的代码中学会编程。

(3) 提供在线技术支持,消除初学者的痛点。

对于自学编程的人来说,最大的痛点是遇到问题时无人可问。在购买本书后,读者将会得到本书创作团队的技术支持,可以获得一对一在线辅导服务,快速解决读者在学习中遇到的问题。此外,我们还会定期开展视频授课,让读者切身体会到与众多志同道合的朋友一起学习编程,将会是一件非常快乐的事情。

(4) 配套资源丰富,包含视频、PPT、源码。

书中每一章均提供了网络视频教学,这些视频能够帮助读者快速入门,增强学习的信心,从而理解所学知识。读者可通过扫描每章二级标题下的二维码,获取案例视频资源,既可在线观看也可以下载到本地随时学习。此外,本书的配套学习资源中还提供了全书案例的源代码,案例源代码读者可通过扫描下方的二维码获取。

编辑推荐

本书通过典型案例详细介绍了 Python 的面向对象、文件操作、标准库函数、异常处理,多线程开发等基础内容,以及网络开发 Tkinter 图形化界面开发、数据库开发、FlaskWeb 开发、DjangoWeb开发,数据可视化等应用。此外,还重点讲解了2个项目开发案例,帮助读者初步掌握 Python 开发基础。

5 粉丝福利

现在点赞 + 收藏 + 任意评论

评论区将随机抽取至多三名小伙伴免费赠书一本;

截止日期:2024年1月15日

版权声明:本文为博主作者:EmotionFlying原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/qq_20016593/article/details/135209818

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2024年1月3日
下一篇 2024年1月3日

相关推荐