Python 程序:生成学生成绩数据并统计分析,以及矩阵乘法计算

(1) 生成学生成绩数据并统计分析

该程序生成 100 个学生的随机成绩数据,每个学生有 6 门课程的成绩,姓名和成绩都是随机产生的。程序统计每个学生的平均成绩,以及每门课的平均成绩、最高成绩和最低成绩。

代码如下:

import random

# 生成随机字符串
def rand_str(length=10):
    chars = 'abcdefghijklmnopqrstuvwxyz'
    return ''.join(random.choice(chars) for _ in range(length))

# 生成100个学生的成绩数据
students = []
for i in range(100):
    name = rand_str()
    scores = [random.randint(0, 100) for _ in range(6)]
    student = {'name': name, 'scores': scores}
    students.append(student)

# 统计每个学生的平均成绩
for student in students:
    avg_score = sum(student['scores']) / len(student['scores'])
    student['avg_score'] = avg_score

# 统计每门课的平均成绩、最高成绩、最低成绩
course_scores = [[] for _ in range(6)]  # 保存每门课的成绩
for student in students:
    for i, score in enumerate(student['scores']):
        course_scores[i].append(score)

for i, scores in enumerate(course_scores):
    avg_score = sum(scores) / len(scores)
    max_score = max(scores)
    min_score = min(scores)
    print('第{}门课的平均成绩:{}, 最高成绩:{}, 最低成绩:{}'.format(i+1, avg_score, max_score, min_score))

# 打印每个学生的成绩数据
for student in students:
    print(student)

(2) 计算两个矩阵的乘法

该程序计算两个矩阵的乘法,用户输入矩阵大小和元素,程序判断矩阵是否可以相乘并输出乘积结果。

代码如下:

# 获取用户输入的矩阵大小和元素
def get_matrix():
    m, n = map(int, input('请输入矩阵大小(m,n):').split(','))
    matrix = []
    for i in range(m):
        row = list(map(int, input('请输入第{}行元素:'.format(i+1)).split(',')))
        if len(row) != n:
            print('输入错误!')
            return None
        matrix.append(row)
    return matrix

# 计算两个矩阵的乘积
def matrix_multiply(matrix1, matrix2):
    m1, n1 = len(matrix1), len(matrix1[0])
    m2, n2 = len(matrix2), len(matrix2[0])
    if n1 != m2:
        print('矩阵无法相乘!')
        return None
    result = [[0]*n2 for _ in range(m1)]
    for i in range(m1):
        for j in range(n2):
            for k in range(n1):
                result[i][j] += matrix1[i][k] * matrix2[k][j]
    return result

# 主程序
matrix1 = get_matrix()
matrix2 = get_matrix()
if matrix1 and matrix2:
    result = matrix_multiply(matrix1, matrix2)
    if result:
        print('矩阵乘积为:')
        for row in result:
            print(row)

总结

本文介绍了用 Python 编写的两个程序,分别实现了生成随机学生成绩数据并统计分析,以及计算两个矩阵的乘法。这两个程序都提供了详细的代码注释,方便读者理解程序逻辑和功能。希望本文能够帮助读者学习 Python 的编程技巧,并对相关知识有更深入的理解。

Python程序:生成学生成绩数据并统计分析,以及矩阵乘法计算

原文地址: https://www.cveoy.top/t/topic/nyqp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录