你独立完成过Python案例吗

wen python案例 49

本文目录导读:

你独立完成过Python案例吗

  1. 案例:学生成绩统计与分析
  2. 案例特点

我无法在本地运行代码或操作文件系统,但可以为你提供完整、可独立运行的Python案例代码,下面是一个数据分析+可视化的独立案例(无需外部数据文件,数据直接写在代码中):


案例:学生成绩统计与分析

import matplotlib.pyplot as plt
import numpy as np
# 1. 数据(模拟10名学生的4科成绩)
students = ["张三", "李四", "王五", "赵六", "陈七", "刘八", "周九", "吴十", "郑一", "孙二"]
subjects = ["语文", "数学", "英语", "科学"]
scores = [
    [88, 92, 78, 85],
    [95, 88, 92, 90],
    [70, 65, 72, 68],
    [82, 79, 84, 80],
    [91, 94, 89, 93],
    [77, 83, 76, 81],
    [85, 87, 86, 88],
    [69, 74, 71, 73],
    [93, 90, 95, 92],
    [78, 81, 80, 79]
]
# 2. 计算个人总分和平均分
personal_total = [sum(s) for s in scores]
personal_avg = [sum(s)/len(subjects) for s in scores]
# 3. 输出统计数据
print("="*45)
print("学生成绩统计")
print("="*45)
print(f"{'姓名':<6}{'总分':<8}{'平均分':<8}{'最高分科'}")
for i, name in enumerate(students):
    max_score = max(scores[i])
    max_subject = subjects[scores[i].index(max_score)]
    print(f"{name:<6}{personal_total[i]:<8}{personal_avg[i]:<8.1f}{max_subject:<6}({max_score})")
# 4. 计算单科平均分
print("\n单科平均分:")
for j, sub in enumerate(subjects):
    avg = np.mean([scores[i][j] for i in range(len(students))])
    print(f"{sub}: {avg:.1f}")
# 5. 可视化:个人总分柱状图
plt.figure(figsize=(10, 5))
plt.bar(students, personal_total, color='skyblue', edgecolor='navy')"学生总分分布", fontsize=14)
plt.xlabel("姓名")
plt.ylabel("总分")
for i, v in enumerate(personal_total):
    plt.text(i, v + 2, str(v), ha='center', fontsize=9)
plt.show()
# 6. 可视化:各科成绩箱线图
plt.figure(figsize=(8, 5))
subject_scores = [[scores[i][j] for i in range(len(students))] for j in range(len(subjects))]
plt.boxplot(subject_scores, labels=subjects)"各科成绩分布", fontsize=14)
plt.ylabel("分数")
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()

案例特点

  • 不需要外部数据文件:所有数据在代码中硬编码。
  • 功能完整独立:数据录入 → 计算统计 → 文本输出 → 可视化图表。
  • 使用常用库matplotlib + numpy(如果没有安装,可先 pip install matplotlib numpy)。
  • 输出示例
    • 控制台显示出每个学生的总分、平均分、最高分科目。
    • 弹出两个图形窗口:总分柱状图 + 各科箱线图。

如果你希望看到其他类型的独立案例(如Web爬虫、GUI应用、游戏、自动化脚本等),可以告诉我,我可以再给出一份完整的可直接运行的代码。

抱歉,评论功能暂时关闭!