Python流程控制实验实训结果的实现

欢迎来到Python流程控制的世界!在这篇文章中,我们将一起探索如何完成一项简单的实训任务,帮助你更好地理解Python中的流程控制。我们将建立一套完整的流程,并提供必要的代码示例及其解释。

实验任务概述

我们的实验任务是创建一个简单的学生成绩管理系统。该系统将允许用户录入学生成绩,并根据成绩计算平均分,最高分和最低分,同时也能够输出成绩列表。

实验流程概述

下面是实现该实验任务的基本流程:

步骤 绪述
1 初始化成绩列表
2 用户输入成绩
3 计算平均分、最高分和最低分
4 输出成绩
5 程序结束

接下来,我们将详细介绍实现每个步骤所需的代码和说明。

1. 初始化成绩列表

首先,我们需要一个列表来存储学生的成绩。我们可以使用Python的list数据结构。

# 初始化一个空的成绩列表
grades = []

这个代码行创建了一个空列表grades,稍后我们将向其中添加学生成绩。

2. 用户输入成绩

我们需要让用户输入学生的成绩。通过使用input()函数来获取用户输入,并将其转化为浮点数后添加到成绩列表中。

# 获取用户输入的成绩并添加到成绩列表中
while True:
    grade = input("请输入学生成绩(输入'q'结束):")
    if grade.lower() == 'q':
        break  # 用户输入q时结束循环
    try:
        grades.append(float(grade))  # 转换为浮点数并添加到列表
    except ValueError:
        print("请输入有效的成绩!")  # 异常处理,确保输入有效

上述代码使用一个while循环持续要求用户输入,直到用户输入q为止。通过try...except块,我们保证了输入数据的有效性。

3. 计算平均分、最高分和最低分

在输入完成绩后,我们需要计算并存储这些信息。我们可以使用内置的sum()max()min()函数来获取这些信息。

# 计算平均分、最高分和最低分
if grades:  # 确保成绩列表不为空
    average = sum(grades) / len(grades)  # 计算平均分
    highest = max(grades)  # 最高分
    lowest = min(grades)  # 最低分
else:
    average = highest = lowest = None  # 若列表为空,设置为None

在以上代码中,我们使用if grades来检查成绩列表是否为空,并根据成绩计算所需数据。

4. 输出成绩

在我们计算完平均分、最高分和最低分后,将结果输出给用户。

# 输出结果
if grades:  # 确保成绩列表不为空再输出
    print(f"成绩列表: {grades}")
    print(f"平均分: {average:.2f}")  # 格式化输出为两位小数
    print(f"最高分: {highest:.2f}")  # 格式化输出为两位小数
    print(f"最低分: {lowest:.2f}")  # 格式化输出为两位小数
else:
    print("没有输入任何成绩。")

以上代码段使用格式化字符串输出结果。

5. 程序结束

在完成以上步骤后,程序可以顺利结束。

# 程序结束
print("成绩管理系统结束!")

最终的完整代码如下:

# 初始化一个空的成绩列表
grades = []

# 获取用户输入的成绩并添加到成绩列表中
while True:
    grade = input("请输入学生成绩(输入'q'结束):")
    if grade.lower() == 'q':
        break  # 用户输入q时结束循环
    try:
        grades.append(float(grade))  # 转换为浮点数并添加到列表
    except ValueError:
        print("请输入有效的成绩!")  # 异常处理,确保输入有效

# 计算平均分、最高分和最低分
if grades:  # 确保成绩列表不为空
    average = sum(grades) / len(grades)  # 计算平均分
    highest = max(grades)  # 最高分
    lowest = min(grades)  # 最低分
else:
    average = highest = lowest = None  # 若列表为空,设置为None

# 输出结果
if grades:  # 确保成绩列表不为空再输出
    print(f"成绩列表: {grades}")
    print(f"平均分: {average:.2f}")  # 格式化输出为两位小数
    print(f"最高分: {highest:.2f}")  # 格式化输出为两位小数
    print(f"最低分: {lowest:.2f}")  # 格式化输出为两位小数
else:
    print("没有输入任何成绩。")

# 程序结束
print("成绩管理系统结束!")

关系图

接下来,我们用mermaid语法展示我们的系统的关系图:

erDiagram
    Student {
        string name
        float grade
    }

在这个关系图中,Student实体具有两个属性:namegrade,分别代表学生姓名和成绩。

类图

同样,我们用mermaid语法展示我们的系统的类图:

classDiagram
    class Student {
        +String name
        +Float grade
        +addGrade(grade)
        +calculateAverage()
        +getHighestGrade()
        +getLowestGrade()
    }

在类图中,我们定义了一个Student类,包含了学生姓名和成绩属性,以及几个方法来管理和计算成绩。

结尾

通过以上步骤,我们成功构建了一个简单的学生成绩管理系统。这项实训任务不仅练习了Python的基本语法,更加巩固了你对流程控制的理解。希望这篇文章能帮助你在Python的学习旅程中取得更好的进步!如有疑问,欢迎随时联系我。继续努力吧!