python实验七:
上机实践:11,12,13
11、参考例11.42,实现namedtuple对象应用程序,读取成绩文件的内容(学员、ID、语文、数学、外语和信息),显示学员ID和平均成绩。
自己写一个文本文件,再改为.csv格式:
from collections import *
import csv
Score = namedtuple('Score', 'name, id, chinese, math, english, computer')
print(" 学号 平均成绩")
for stu in map(Score._make, csv.reader(open("", encoding = 'utf-8'))):
score_average = (float(stu.chinese) + float(stu.math) + float(stu.english) + float(stu.computer))/4
print(stu.id, score_average)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
12、创建由‘Monday’~‘Sunday’7个值组成的字典,输出键列表、值列表以及键值列表。
d = {1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday', 7:'Sunday'}
for k in d.keys():
print(k, end=' ')
print()
for v in d.values():
print(v, end=' ')
print()
for i in d.items():
print(i, end=' ')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
运行
13、随机生成10个0(包含)~10(包含)的整数,分别组成集合A和集合B,输出A和B的内容、长度、最大值、最小值以及它们的并集、交集和差集。
import random
def func():
a = []
for j in range(5):
x = random.randint(1,10)
a.append(x)
return set(a)
A = func()
B = func()
print("集合的内容、长度、最大值、最小值分别为:")
print(A, len(A), max(A), min(A))
print(B, len(B), max(B), min(B))
print("A和B的并集、交集和差集分别为:")
print(A|B, A&B, A-B)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
运行