Python Fonksiyondan veri çekme

Kunkka

Hectopat
Katılım
19 Ekim 2019
Mesajlar
1.422
Çözümler
4
Yer
Dire
Aşağıdaki program dosya.txt içerisinde bulunan not listesindeki notları hesaplamakta ve harf notlarını notlar.txt içerisine yazdırmakta. Ben ayriyeten kalanlar.txt ve geçenler.txt dosyası oluşturup kalanları ve geçenleri ayrı dosyalara yazdırmak istiyorum lakin benim başaramadığım şey ise fonksiyon içerisinden koşul için sadece not kısmını çekememek. Cevabınız için şimdiden teşekkürler.

Python:
def not_hesapla(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 >= 80):
        harf = "BB"

    elif (son_not >= 75):
        harf = "CB"

    elif (son_not >= 70):
        harf = "CC"

    elif (son_not >= 65):
        harf = "DC"

    elif (son_not >= 60):
        harf = "DD"

    elif (son_not >= 55):
        harf = "FD"

    else:
        harf = "FF"

    return isim + "---------->" + harf + "\n"


with open("dosya.txt","r",encoding="utf-8") as file:
    eklenecekler_listesi=[]
    for i in file:
        eklenecekler_listesi.append(not_hesapla(i))
    print(eklenecekler_listesi)

with open("notlar.txt","w",encoding="utf-8") as file2:
    for i in eklenecekler_listesi:
        file2.write(i)
 
Hiçbir şey anlamadım.
Gayet açık yazdım aslında. Anlayamadığınız nokta neresi?

Yazdığım kod dosya.txt içerisinde bulunan listedeki notları almakta ve bunların harf notlarını notlar.txt adlı dosyaya liste şeklinde yazdırmakta. Benim ekstra yapmak istediğim şey bunu kalanlar ve geçenler olarak ayrı 2 gruba ayırmak ve ayrı txt dosyalarına yazdırmak. Lakin bunları ayırmak için bir koşul yazmam gerekiyor, koşul için de veri çekmem gerekiyor. Veriyi sadece harf notu olarak almam gerekiyor ama bunu nasıl yapabileceğimi anlamadım.
 
Gayet açık yazdım aslında. Anlayamadığınız nokta neresi?

Yazdığım kod dosya.txt içerisinde bulunan listedeki notları almakta ve bunların harf notlarını notlar.txt adlı dosyaya liste şeklinde yazdırmakta. Benim ekstra yapmak istediğim şey bunu kalanlar ve geçenler olarak ayrı 2 gruba ayırmak ve ayrı txt dosyalarına yazdırmak. Lakin bunları ayırmak için bir koşul yazmam gerekiyor, koşul için de veri çekmem gerekiyor. Veriyi sadece harf notu olarak almam gerekiyor ama bunu nasıl yapabileceğimi anlamadım.
if(son_not>=90): return "AA"

return eklersen fonksiyonu çağırınca geri olarak onu verecek.
 
Artı -1 Eksi
Daha açık nasıl anlatabilirim bilmiyorum arkadaşlar. Kısacası kalanlar ve geçenler diye txt oluşturmak istiyorum ama veriyi çekemiyorum. Nasıl çekebileceğimi soruyorum.
 

Yeni konular

Yeni mesajlar

Geri
Yukarı