求最大值最小值平均值报错卡住不会了
def compute_score():
score = []
with open('D:/桌面/第15章资料/chengji.txt', 'w', encoding='UTF-8') as fin:
for line in fin:
line = line[:-1]
fields = line.split(',')
score.append(int(fields[-1]))
max_score = max(score)
min_score = min(score)
avg_score = round(sum(score) / len(score), 2)
return max_score, min_score, avg_score
max_score, min_score, avg_score = compute_score
print(f'最高分{max_score},最低分{min_score}平均分{avg_score}')
报错代码
max_score, min_score, avg_score = compute_score
TypeError: cannot unpack non-iterable function object
给你修改好了
def compute_score():
score = []
with open('D:/桌面/第15章资料/chengji.txt', 'w', encoding='UTF-8') as fin:
for line in fin:
line = line[:-1]
fields = line.split(',')
score.append(int(fields[-1]))
max_score = max(score)
min_score = min(score)
avg_score = round(sum(score) / len(score), 2)
return max_score, min_score, avg_score
max_score, min_score, avg_score = compute_score()
print(f'最高分{max_score},最低分{min_score}平均分{avg_score}')
compute_score是个函数,调用的时候要加(),14行改成这样:
max_score, min_score, avg_score = compute_score()
有帮助的话,请点采纳
该回答引用ChatGPT
错误的原因是您忘记调用 compute_score 函数,应该改为:
max_score, min_score, avg_score = compute_score()
另外,您在读取文件的时候使用的是写入模式('w'),这会导致文件内容被清空,您应该使用读取模式('r')来读取文件内容:
with open('D:/桌面/第15章资料/chengji.txt', 'r', encoding='UTF-8') as fin:
修正的代码
def compute_score():
score = []
with open('D:/桌面/第15章资料/chengji.txt', 'r', encoding='UTF-8') as fin:
for line in fin:
line = line[:-1]
fields = line.split(',')
score.append(int(fields[-1]))
max_score = max(score)
min_score = min(score)
avg_score = round(sum(score) / len(score), 2)
return max_score, min_score, avg_score
max_score, min_score, avg_score = compute_score()
print(f'最高分{max_score},最低分{min_score}平均分{avg_score}')