def not_hesaplama(satır):
satır = satır[:-1]
liste = satır.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = not1*(3/10) + not2*(3/10) + not3*(4/10)
if son_not >= 90 :
harf = "AA"
elif son_not >= 85 :
harf = "BA"
elif son_not >= 75 :
harf = "BB"
elif son_not >= 70 :
harf = "BC"
elif son_not >= 65 :
harf = "CC"
elif son_not >= 60 :
harf = "DC"
elif son_not >= 55 :
harf = "DD"
elif son_not >= 50 :
harf = "DE"
elif son_not >= 45 :
harf = "EE"
elif son_not >= 40 :
harf = "EF"
else:
harf = "FF"
return isim + "------------>" + harf + "<------------" + "\n"
with open("bilgiler", "r", encoding="utf-8") as file:
eklenecekler_listesi = list()
for i in file:
eklenecekler_listesi.append(not_hesaplama(i))
print(eklenecekler_listesi)
with open("harf_notları", "w", encoding="utf-8") as file2:
for i in eklenecekler_listesi:
file2.write(i)
with open("bilgiler", "r", encoding="utf-8") as file:
ve
with open("harf_notları", "w", encoding="utf-8") as file2:
Yukarıdaki satırlardaki dosya uzantısı eksik. Python bu şekilde de veriyi okuyup işlem yapıyor ancak bence dosya uzantılı eklenmeli.
bilgiler ve harf_notları dosyalarının biçimi ne? txt mi?, xlsx mi? pdf mi?
Her satırda 4 veri (isim ve 3 adet not değeri) yoksa, list index out of range hatası vermesi normal.
Şu biçimdeki bir bilgiler dosyası için çalışıyor:
samet,15,20,30
hasan,40,50,90
enes,20,15,40
Kod şu şekilde:
def not_hesaplama(satır):
satır = satır[:-1]
liste = satır.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = not1*(3/10) + not2*(3/10) + not3*(4/10)
if son_not >= 90 :
harf = "AA"
elif son_not >= 85 :
harf = "BA"
elif son_not >= 75 :
harf = "BB"
elif son_not >= 70 :
harf = "BC"
elif son_not >= 65 :
harf = "CC"
elif son_not >= 60 :
harf = "DC"
elif son_not >= 55 :
harf = "DD"
elif son_not >= 50 :
harf = "DE"
elif son_not >= 45 :
harf = "EE"
elif son_not >= 40 :
harf = "EF"
else:
harf = "FF"
return isim + "------------>" + harf + "<------------" + "\n"
yazdirilacaklar_listesi = []
with open("bilgiler", "r", encoding="utf-8") as file:
for i in file:
print(not_hesaplama(i))
yazdirilacaklar_listesi.append(not_hesaplama(i))
with open("harf_notları", "w", encoding="utf-8") as file2:
for i in yazdirilacaklar_listesi:
file2.write(i)
Kolay gelsin.