我有一组名称,在.txt
文件中为每一个分配了3个分数,我想打印每个名称的平均分数。到目前为止,我有以下代码,但我仍然坚持如何平均分数并将其打印在python
shell中。
File_name=open('class_2.txt', 'r')
List_ = File_name.readlines()
List_.sort()
print('Class average scores below :')
for line in List_:
print(line)
此代码按字母顺序打印名称并附加分数,但不会打印平均分数。
.txt
文件的格式如下:
tom,6,4,7
steve,3,6,4
john,10,9,8
mike,6,8,9
答案 0 :(得分:0)
程序:
with open('class_2.txt') as students:
for student in sorted(students):
name, *scores = student.split(',')
average = sum(map(int, scores)) / len(scores)
print(name, average)
输出:
john 9.0
mike 7.666666666666667
steve 4.333333333333333
tom 5.666666666666667
答案 1 :(得分:-1)
你缺乏进行平均计算的代码。请尝试以下修改:
with open('class_2.txt', 'r') as f:
List_ = f.readlines()
List_.sort()
print('Class average scores below :')
for line in List_:
data = line.split(',')
print(data[0], sum([int(score) for score in data[1:]]) / len(data) - 1)
这可以通过使用split()方法将数据拆分为数组,如['tom','6','4','7'],然后使用Python的切片将值提取为整数,总和他们并平均他们。