天天看點

python輸出兩個字元串長度_Python:使用不同的字元串長度均勻分布輸出資料

我正試圖使輸出資料如下所示:-------------------------------------------------------

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()

我隻需要弄清楚如何使用偶數空格,這樣就可以像第一個輸出一樣生成偶數行和列。非常感謝您的幫助!謝謝!