我正试图使输出数据如下所示:-------------------------------------------------------
Grade Report for Programs
-------------------------------------------------------
Jacobson, Mark 19.0
Snurd, Mortimur 16.5
Luxemburg, Rosa 15.0
Atanasoff, John 20.0
Hopper, Grace 20.0
-------------------------------------------------------
但我不知道如何处理不同的名字长度。我的输出现在是这样的。Grade Report for Programs
-------------------------------------------------------
Jacobson, Mark 19.0
Snurd, Mortimur 16.5
Luxemburg, Rosa 15.0
Atanasoff, John 20.0
Hopper, Grace 20.0
-------------------------------------------------------
我写的程序是把分数输入文件,收集数据,整齐地打印出平均值。
输入文件如下所示:Mark Jacobson,20,17,20
Mortimur Snurd,20,19,18,17,16,15,14,13
Rosa Luxemburg,18,15,20,10,12
John Atanasoff,20,20,20,20,20,20,20
Grace Hopper,20,20,20,20,20,20
这是我的代码,它收集姓名和分数,并打印出数据,包括姓氏、名字、平均分数,然后是得到平均分数的实际分数。file = input("Enter filename: ")
grade_file = open(file, 'r')
print()
print('---------------------------------------------------------')
print('\t\tGrade Report for Programs')
print('---------------------------------------------------------')
for text in grade_file:
end_of_name = text.find(',')
name_seperated = text.find(' ')
first_name = text[0:name_seperated]
last_name = text[name_seperated+1:end_of_name]
name_last_first = last_name + "," + " " + first_name
grades = text[end_of_name+1:]
start = 0
index = 0
sum_n = 0
average= 0
score = 0
count = 0
while index < len(grades):
if grades[index] == ',':
score = int(grades[start:index])
count += 1
sum_n = score + sum_n
start = index + 1
index += 1
count += 1
score = int(grades[start:index])
sum_n = score + sum_n
average = sum_n / count
print(name_last_first, " ", average, "
print('---------------------------------------------------------')
grade_file.close()
我只需要弄清楚如何使用偶数空格,这样就可以像第一个输出一样生成偶数行和列。非常感谢您的帮助!谢谢!