第一题
def sum_series(n):
# 定义内部函数,用于计算每一项的值
def series_i(i):
return sum(range(1, i+1))
# 使用 map() 函数依次计算每一项的值,并返回其和
return sum(map(series_i, range(1, n+1)))
# 调用函数,计算1+(1+2)+(1+2+3)+...(1+2+3+...n)
print(sum_series(5))
第二题
filename = "yzy.txt"
try:
with open(filename, "r", encoding="utf-8") as f:
# 读取文件内容
content = f.read()
print(content)
except FileNotFoundError:
print("文件不存在")
第三题
import csv
filename = "score.csv"
# 定义列索引
id_col = 0
prog_col = 1
sports_col = 2
econ_col = 3
try:
with open(filename, "r") as f:
# 创建CSV读取器
reader = csv.reader(f)
# 跳过CSV文件的标题行
next(reader)
# 初始化各列的变量
prog_scores = []
sports_scores = []
econ_scores = []
# 依次读取每一行,统计各列的平均分、最高分、最低分
for row in reader:
# 统计程序设计成绩
prog_scores.append(int(row[prog_col]))
# 统计体育成绩
sports_scores.append(int(row[sports_col]))
# 统计经济学成绩
econ_scores.append(int(row[econ_col]))
# 计算平均分
prog_avg = sum(prog_scores) / len(prog_scores)
sports_avg = sum(sports_scores) / len(sports_scores)
econ_avg = sum(econ_scores) / len(econ_scores)
# 计算最高分、最低分
prog_max = max(prog_scores)
sports_max = max(sports_scores)
econ_max = max(econ_scores)
prog_min = min(prog_scores)
sports_min = min(sports_scores)
econ_min = min(econ_scores)
# 输出结果
print("程序设计平均分:%d,最高分:%d,最低分:%d" % (prog_avg, prog_max, prog_min))
print("体育平均分:%d,最高分:%d,最低分:%d" % (sports_avg, sports_max, sports_min))
print("经济学平均分:%d,最高分:%d,最低分:%d" % (econ_avg, econ_max, econ_min))
except FileNotFoundError:
print("文件不存在")