某课程40个学生给上课老师评教打分,分数划分为1~10个等级,编写程序统计课程评教结果。数据直接赋值给数组。 等级 票数 票数图 1 5 ***** 2 10 ********** 3 7 ******* … 总计 总票数 总分数 分析:采用二维数组,一个老师占一列,最后统计出班的总成绩。 进一步:采用三维数组,存放所有班的评价成绩。
时间: 2023-06-15 19:06:09 浏览: 90
以下是用一维数组和二维数组实现统计课程评教结果的示例程序:
### 一维数组实现
```python
scores = [0] * 10 # 初始值都为0,表示10个等级的票数都为0
total = 0 # 总票数
# 数据直接赋值给数组
votes = [5, 10, 7, 8, 3, 2, 1, 3, 1, 0]
for i in range(10):
scores[i] = votes[i] # 记录每个等级的票数
total += votes[i] # 统计总票数
print("等级\t票数\t票数图")
for i in range(10):
print("{}\t{}\t{}".format(i + 1, scores[i], '*' * scores[i]))
print("总计\t{}\t{}".format(total, sum([i * votes[i] for i in range(10)])))
```
### 二维数组实现
```python
scores = [[0 for _ in range(40)] for _ in range(10)] # 初始化二维数组,记录每个学生的评价成绩
# 数据直接赋值给数组
for i in range(40):
votes = [int(x) for x in input("请输入第{}个学生的评价成绩:".format(i + 1)).split()]
for j in range(10):
scores[j][i] = votes[j] # 记录每个学生的每个等级的票数
total = 0 # 总票数
for i in range(10):
count = sum(scores[i]) # 统计每个等级的总票数
total += count # 统计总票数
print("{}\t{}\t{}".format(i + 1, count, '*' * count)) # 输出每个等级的票数图
print("总计\t{}".format(total))
```
以下是用三维数组实现存放所有班的评价成绩的示例程序:
```python
scores = [[[0 for _ in range(40)] for _ in range(10)] for _ in range(5)] # 初始化三维数组,记录每个班每个学生的评价成绩
# 数据直接赋值给数组
for i in range(5):
for j in range(40):
votes = [int(x) for x in input("请输入第{}个班的第{}个学生的评价成绩:".format(i + 1, j + 1)).split()]
for k in range(10):
scores[i][k][j] = votes[k] # 记录每个学生的每个等级的票数
# 统计每个班的总成绩
for i in range(5):
print("第{}个班:".format(i + 1))
total = 0 # 总成绩
for j in range(10):
count = sum(scores[i][j]) # 统计每个等级的总票数
total += count * (j + 1) # 统计总成绩
print("{}\t{}\t{}".format(j + 1, count, '*' * count)) # 输出每个等级的票数图
print("总成绩:{}".format(total))
```
阅读全文