1.(实践教程69-6)编写程序随机产生100个两位正整数,并将这100个数写入文本文件number.txt中,要求每行10个整数,整数之间用一个空格分隔。 2.(实践教程68-2)计算运动会某个参赛选手的得分。假设共有10个裁判,每个裁判给该选手打分(分数在0-10之间)后,去掉一个最高分和一个最低分之后的平均分即为该运动员的最后得分。某位选手的得分数据保存在文件中,文件的内容如下: 9.37 9.52 9.98 10 9.85 9.73 9.93 9.76 9.81 9.08 各数据之间使用一个空格分隔。请编写程序从文件中读取该选手的成绩并计算最后得分(保留2位小数)。 3.. (实践教程68-3)文件68-3.txt中每一行内容分别为购买的商品名称、价格、数量,求出所购商品花费的总费用。 apple 10 3 focus 100000 1 surface 8000 2 thinkpad 7000 3 chicken 10 3 7(实践教程69-4).新建一个文本文件69-4socre.csv,用来保存10名考生的3门课程的成绩,内容如下: 考号 程序设计 细胞生物 生理学 10153450101 72 96 88 10153450102 68 88 73 10153450103 63 63 66 10153450104 95 64 65 10153450105 89 88 57 10153450106 77 87 77 10153450107 67 64 97 10153450108 44 99 64 10153450109 82 73 75 10153450110 79 78 85 以上各分数项均使用英文逗号分隔。请编写程序读取该文件内容,统计每门课的平均分、最高分和最低分。用python编写程序
时间: 2023-12-10 14:38:20 浏览: 119
1. 随机产生100个两位正整数,并将这100个数写入文本文件number.txt中,要求每行10个整数,整数之间用一个空格分隔。
```python
import random
# 生成100个两位正整数
nums = [random.randint(10, 99) for _ in range(100)]
# 将数字分成每行10个的形式
lines = []
for i in range(0, len(nums), 10):
line = ' '.join(map(str, nums[i:i+10]))
lines.append(line)
# 将数字写入文件
with open('number.txt', 'w') as f:
f.write('\n'.join(lines))
```
2. 计算运动会某个参赛选手的得分。
```python
# 从文件中读取得分数据
with open('scores.txt', 'r') as f:
scores = list(map(float, f.readline().strip().split()))
# 去掉一个最高分和一个最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分
avg_score = sum(scores) / len(scores)
print(f"该选手最后得分为:{avg_score:.2f}")
```
3. 求出所购商品花费的总费用。
```python
# 从文件中读取商品及价格、数量
with open('shopping.txt', 'r') as f:
lines = f.readlines()
# 计算总花费
total_cost = 0
for line in lines:
name, price, num = line.strip().split()
total_cost += int(price) * int(num)
print(f"所购商品花费的总费用为:{total_cost}")
```
4. 统计每门课的平均分、最高分和最低分。
```python
import csv
# 从csv文件中读取成绩数据
with open('69-4score.csv', 'r') as f:
reader = csv.reader(f)
# 跳过表头
next(reader)
# 统计每门课的分数
program_scores = []
cell_scores = []
physio_scores = []
for row in reader:
program_scores.append(int(row[1]))
cell_scores.append(int(row[2]))
physio_scores.append(int(row[3]))
# 计算每门课的平均分、最高分和最低分
program_avg = sum(program_scores) / len(program_scores)
program_max = max(program_scores)
program_min = min(program_scores)
cell_avg = sum(cell_scores) / len(cell_scores)
cell_max = max(cell_scores)
cell_min = min(cell_scores)
physio_avg = sum(physio_scores) / len(physio_scores)
physio_max = max(physio_scores)
physio_min = min(physio_scores)
# 输出结果
print(f"程序设计:平均分{program_avg:.2f},最高分{program_max},最低分{program_min}")
print(f"细胞生物:平均分{cell_avg:.2f},最高分{cell_max},最低分{cell_min}")
print(f"生理学:平均分{physio_avg:.2f},最高分{physio_max},最低分{physio_min}")
```
阅读全文