我正試圖使輸出資料如下所示:-------------------------------------------------------
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()
我隻需要弄清楚如何使用偶數空格,這樣就可以像第一個輸出一樣生成偶數行和列。非常感謝您的幫助!謝謝!