jawaban versiku adalah :
def baca(file):
a=[]
fbaca= open(file,"r")
for line in fbaca :
a.append(line.strip())
fbaca.close
return(a)
def tampil(a): # a = sesuatu yg ingin ditampilkan
print a
def konversi(a): # a = sebuah array yg berisi nilai
b=[]
for i in range (0,len(a)):
if a[i]== 'A':
b.append(4)
elif a[i]== 'AB':
b.append(3.5)
elif a[i]== 'B':
b.append(3)
elif a[i]== 'BC':
b.append(2.5)
elif a[i]== 'C':
b.append(2)
elif a[i]== 'D':
b.append(1)
else :
b.append(0)
return(b)
def rata(a): # a = sebuah array yg berisi nilai
b = 0
for i in range (0,len(a)):
b= b+a[i]
r = float(b)/len(a)
return(r)
def normalisasi(nilai):
c = (nilai*100)/4
return(c)
#program utama
x = True
y = 0
while x:
nama = raw_input("Nama file :")
if nama =='*':
print " telah menginput data sebanyak",y ,"kali"
x = False
else:
y = y+1
a= baca(nama)#nama = sebuah nama file yang berisi daftar nilai
tampil(a)
b = konversi(a)
c = rata(b)
tampil(c)
d = normalisasi(c)
tampil(d)
isi materi ini boleh di copaste dan disebarkan dengan menatumkan blog saya ini sebagai sumber refersensinya...