设计一个数据结构,存储班级中所有同学的本学期五门课程的成绩信息,包含三个 分别是学号,姓名,成绩。设计出该结构进行存储,为了简化,学号为1~100,学号为1的 姓名为 “A1”,学号为30的同学姓名为” A30”,每个同学每门课程的成绩均为随机生成的60~100 之间的随机数。 (1)当结构为dic = (1:[“AI”,160,60,60,60,60111时,【不使用序列化方法】 ①把如上数据写入名字为score txt 的文件中。以字符串形式写入。 ② 读出 score.txt 文件中的内容到内存中,并使用循环对读出的字典进行控制台输出。 (2)当结构为((1:{“A1”:160,60,60,60,6011 1, (2:('Az“:1 60,60,60,60,601)3.〕【不使用序列化方
时间: 2024-02-22 19:55:12 浏览: 76
案】 ①把如上数据写入名字为score.txt的文件中。以字符串形式写入。 ② 读出score.txt文件中的内容到内存中,并使用循环对读出的数据进行控制台输出。
(1)使用字典存储班级同学的成绩信息:
```
dic = {}
for i in range(1, 101):
name = 'A' + str(i)
score = [random.randint(60, 100) for j in range(5)]
dic[i] = [name] + score
```
①将数据写入score.txt文件中:
```
with open('score.txt', 'w') as f:
for k, v in dic.items():
f.write(str(k) + ':' + str(v) + '\n')
```
②从score.txt文件中读取数据并输出:
```
with open('score.txt', 'r') as f:
for line in f:
data = line.strip().split(':')
key = int(data[0])
value = eval(data[1])
print(key, value)
```
(2)使用嵌套字典存储班级同学的成绩信息:
```
dic = {}
for i in range(1, 101):
name = 'A' + str(i)
score = [random.randint(60, 100) for j in range(5)]
dic[i] = {name: score}
```
①将数据写入score.txt文件中:
```
with open('score.txt', 'w') as f:
for k, v in dic.items():
f.write(str(k) + ':' + str(v) + '\n')
```
②从score.txt文件中读取数据并输出:
```
with open('score.txt', 'r') as f:
for line in f:
data = line.strip().split(':')
key = int(data[0])
value = eval(data[1])
print(key, value)
```
阅读全文