Python'da not ortalaması hesaplayan kod önerisi

zencefilli

Hectopat
Katılım
27 Eylül 2020
Mesajlar
11
Daha fazla  
Cinsiyet
Erkek
"Kullanıcıdan 3 sınav notu girmesini isteyiniz.
Bu sınav notlarının ortalamasını hesaplatınız.
Aşağıdaki not aralıklarına göre uygun harfi ekrana yazdırınız.
AA: 90 - 100
BA: 80 - 89
BB: 75 - 79
CB: 70 - 74
CC: 60 - 69
DC: 50 - 59
DD: 40 - 49
FD: 30 - 39
FF: 0 - 29

Ekran çıktı örneği

Birinci sınav notunu giriniz:85

İkinci sınav notunu giriniz:85

Üçüncü sınav notunu giriniz:85

Ortalama: 85

Harf Notu: BA"

Böyle bir Python kodu lazım.
 
Son düzenleme:
def harf_notu_hesapla(ortalama):
if 90 <= ortalama <= 100:
return "AA"
elif 80 <= ortalama <= 89:
return "BA"
elif 75 <= ortalama <= 79:
return "BB"
elif 70 <= ortalama <= 74:
return "CB"
elif 60 <= ortalama <= 69:
return "CC"
elif 50 <= ortalama <= 59:
return "DC"
elif 40 <= ortalama <= 49:
return "DD"
elif 30 <= ortalama <= 39:
return "FD"
else:
return "FF"

# Kullanıcıdan sınav notlarını alma
birinci_not = float(input("Birinci sınav notunu giriniz: "))
ikinci_not = float(input("İkinci sınav notunu giriniz: "))
üçüncü_not = float(input("Üçüncü sınav notunu giriniz: "))

# Ortalama hesaplama
ortalama = (birinci_not + ikinci_not + üçüncü_not) / 3

# Harf notunu hesaplama
harf_notu = harf_notu_hesapla(ortalama)

# Çıktıyı ekrana yazdırma
print("\nOrtalama:", ortalama)
print("Harf Notu:", harf_notu)
 
Def harf_notu_hesapla(ortalama):
İf 90 <= ortalama <= 100:
Return "AA"
Elif 80 <= ortalama <= 89:
Return "ba"
Elif 75 <= ortalama <= 79:
Return "bb"
Elif 70 <= ortalama <= 74:
Return "cb"
Elif 60 <= ortalama <= 69:
Return "CC"
Elif 50 <= ortalama <= 59:
Return "DC"
Elif 40 <= ortalama <= 49:
Return "dd"
Elif 30 <= ortalama <= 39:
Return "fd"
Else:
Return "ff"

# Kullanıcıdan sınav notlarını alma.
Birinci_not = float(input("birinci sınav notunu giriniz: "))
İkinci_not = float(input("ikinci sınav notunu giriniz: "))
Üçüncü_not = float(input("üçüncü sınav notunu giriniz: "))

# Ortalama hesaplama.
Ortalama = (birinci_not + ikinci_not + üçüncü_not) / 3

# Harf notunu hesaplama.
Harf_notu = harf_notu_hesapla(ortalama)

# Çıktıyı ekrana yazdırma.
Print("\nortalama:", ortalama)
Print("harf notu:", harf_notu)

Syntax error veriyor.
 
Binary search algoritmasını kullanarak yapabilirsiniz:
Python:
from bisect import bisect

def ortalamaHesapla(adet):
    """
    Sınav notlarının ortalamasını hesaplar.

    Args:
        adet (int): Sınav sayısı.

    Returns:
        float: Sınav notlarının ortalaması.
    """
    toplam = 0
    for i in range(adet):
        not_s = float(input(f"\n{i+1}. sınav notunu giriniz: "))
        toplam += not_s
    return toplam / adet

def harfNotu(ortalama, sinirlar=[30, 40, 50, 60, 70, 75, 80, 90], notlar=["FF", "FD", "DD", "DC", "CC", "CB", "BB", "BA", "AA"]):
    """
    Ortalama puana göre harf notu atar.

    Args:
        ortalama (float): Ortalama puan.
        sinirlar (list): Her bir harf notu için sınır değerleri.
        notlar (list): Karşılık gelen harf notları listesi.

    Returns:
        str: Ortalama puana göre atanan harf notu.
    """
    indeks = bisect(sinirlar, ortalama)
    return f"\n\nOrtalama = {ortalama}\nHarf Notu = {notlar[indeks]}"

if __name__ == '__main__':
    print(harfNotu(ortalamaHesapla(3)))

Çıktı:
1717511042215.png


"bisect" modülünün resmi dokümantasyonu:

Binary search algoritması hakkında bilgi:
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 

Technopat Haberler

Yeni konular

Geri
Yukarı