Kodumdaki hata nedir ?

notlar=[]
harf_notu=[]
ort=[]
ogr=[]
ogr_sayisi=0
class Ogrenci:
    def __init__(self):
        
        self.ogr_isim = 1
        self.ogr_sayısı=ogr_sayisi
       
    def Ogrenci_sayisi(self):
        self.ogr_sayısı=(int(input("Ogrenci Sayısı:")))
        
        
    
    def Ogrenci_ismi(self):
        
        for i in range(0,self.ogr_sayısı):
             self.ogr_isim=input((str(i+1))+"-Numaralı  Öğrencinin İsmini Giriniz:")
             ogr.append(self.ogr_isim)
                        
    def Notlari_hesapla(self):
       for i in range(0,self.ogr_sayısı):
           hash={}
           hash["vize_1"] = float(input("{} İsimli Öğrencinin Vize_1 : ".format(ogr[i])))
           hash["vize_2"] = float(input("{} İsimli Öğrencinin Vize_2 : ".format(ogr[i])))
           hash["final"] = float(input("{} İsimli Öğrencinin Final : ".format(ogr[i])))
           hash["ortalama"] = round(sum(hash[_not] * yuzde for _not, yuzde in zip(["vize_1", "vize_2", "final"], [25/100, 35/100, 40/100])), 2)
           notlar.append(hash)
           if hash["vize_1"] > 100 or hash["vize_2"] > 100 or hash["final"] > 100:
               print("\nDeğer 100'den Büyük  Olamaz Tekrar Giriniz.")
               c.Notlari_hesapla()
               break
           
           ortalama = round(sum(hash[_not] * yuzde for _not, yuzde in zip(["vize_1", "vize_2", "final"], [25/100, 35/100, 40/100])), 2)
           ort.append(ortalama)
           notlar.append(hash)
           print("")
    
    def Harf_notunu_hesapla(self):
        for i in range(self.ogr_sayısı):
            if 90 <= ort[i] <= 100:
                print("\n{} İsimli Öğrencinin Harf Notu:AA".format(ogr[i]))
                harf_notu.append("AA")
            elif 85 <= ort[i] <= 89:
                print("\n{} İsimli Öğrencinin Harf Notu:BA".format(ogr[i]))
                harf_notu.append("BA")
            elif 80 <= ort[i] <= 84:
                print("\n{} İsimli Öğrencinin Harf Notu:BB".format(ogr[i]))
                harf_notu.append("BB")
            elif 70 <= ort[i] <= 79:
                print("\n{} İsimli Öğrencinin Harf Notu:CB".format(ogr[i]))
                harf_notu.append("CB")
            elif 60 <= ort[i] <= 69:
                print("\n{} İsimli Öğrencinin Harf Notu:CC".format(ogr[i]))
                harf_notu.append("CC")
            elif 45 <= ort[i] <= 59:
                print("\n{} İsimli Öğrencinin Harf Notu:DC".format(ogr[i]))
                harf_notu.append("DC")
            elif 0 <= ort[i] <= 44:
                print("\n{} İsimli Öğrencinin Harf Notu:DD".format(ogr[i]))
                harf_notu.append("DD")
            else:
                ("Hata!")
        
    def Çıktı(self):       
        for i in range(0,self.ogr_sayisi):
            global  öğrenci_bilgileri
            öğrenci_bilgileri=[
                {"isim":ogr[i],"notlar":notlar[i],"Ortalama":ort[i],"Harf Notu":harf_notu[i]}
                ]
            print("---------------------------------")
            print(öğrenci_bilgileri)
    def sinif_ortalamasini_hesapla_ve_yazdir(self):
        print("---------------------------------")
        sinif_ortalama=sum(ort)/self.ogr_sayisi
        print("Sınıfın Ortalaması:{}".format(sinif_ortalama))


c=Ogrenci()
c.Ogrenci_sayisi()
c.Ogrenci_ismi()
c.Notlari_hesapla()
c.Harf_notunu_hesapla()
c.Çıktı()
c.sinif_ortalamasini_hesapla_ve_yazdir()

Bu kod üzereinde bir şeyler deniyorumda değişik hatalar veriyor.Sorun nerede ?

Hatanın hangi satırda olduğunu söylerseniz, daha hızlı yardımcı olabiliriz.

1 Beğeni
notlar=[]
harf_notu=[]
ort=[]
ogr=[]

class Ogrenci:
    def __init__(self, ogr_sayisi=0):
        
        self.ogr_isim = 1
        self.ogr_sayısı=ogr_sayisi
       
    def Ogrenci_sayisi(self):
        self.ogr_sayısı=(int(input("Ogrenci Sayısı:")))
        
        
    
    def Ogrenci_ismi(self):
        
        for i in range(0,self.ogr_sayısı):
             self.ogr_isim=input((str(i+1))+"-Numaralı  Öğrencinin İsmini Giriniz:")
             ogr.append(self.ogr_isim)
                        
    def Notlari_hesapla(self):
       for i in range(0,self.ogr_sayısı):
           hash={}
           hash["vize_1"] = float(input("{} İsimli Öğrencinin Vize_1 : ".format(ogr[i])))
           hash["vize_2"] = float(input("{} İsimli Öğrencinin Vize_2 : ".format(ogr[i])))
           hash["final"] = float(input("{} İsimli Öğrencinin Final : ".format(ogr[i])))
           hash["ortalama"] = round(sum(hash[_not] * yuzde for _not, yuzde in zip(["vize_1", "vize_2", "final"], [25/100, 35/100, 40/100])), 2)
           notlar.append(hash)
           if hash["vize_1"] > 100 or hash["vize_2"] > 100 or hash["final"] > 100:
               print("\nDeğer 100'den Büyük  Olamaz Tekrar Giriniz.")
               c.Notlari_hesapla()
               break
           
           ortalama = round(sum(hash[_not] * yuzde for _not, yuzde in zip(["vize_1", "vize_2", "final"], [25/100, 35/100, 40/100])), 2)
           ort.append(ortalama)
           notlar.append(hash)
           print("")
    
    def Harf_notunu_hesapla(self):
        for i in range(self.ogr_sayısı):
            if 90 <= ort[i] <= 100:
                print("\n{} İsimli Öğrencinin Harf Notu:AA".format(ogr[i]))
                harf_notu.append("AA")
            elif 85 <= ort[i] <= 89:
                print("\n{} İsimli Öğrencinin Harf Notu:BA".format(ogr[i]))
                harf_notu.append("BA")
            elif 80 <= ort[i] <= 84:
                print("\n{} İsimli Öğrencinin Harf Notu:BB".format(ogr[i]))
                harf_notu.append("BB")
            elif 70 <= ort[i] <= 79:
                print("\n{} İsimli Öğrencinin Harf Notu:CB".format(ogr[i]))
                harf_notu.append("CB")
            elif 60 <= ort[i] <= 69:
                print("\n{} İsimli Öğrencinin Harf Notu:CC".format(ogr[i]))
                harf_notu.append("CC")
            elif 45 <= ort[i] <= 59:
                print("\n{} İsimli Öğrencinin Harf Notu:DC".format(ogr[i]))
                harf_notu.append("DC")
            elif 0 <= ort[i] <= 44:
                print("\n{} İsimli Öğrencinin Harf Notu:DD".format(ogr[i]))
                harf_notu.append("DD")
            else:
                ("Hata!")
        
    def Çıktı(self):       
        for i in range(0,self.ogr_sayısı):
            global öğrenci_bilgileri
            öğrenci_bilgileri=[
                {"isim":ogr[i],"notlar":notlar[i],"Ortalama":ort[i],"Harf Notu":harf_notu[i]}
                ]
            print("---------------------------------")
            print(öğrenci_bilgileri)
    def sinif_ortalamasini_hesapla_ve_yazdir(self):
        print("---------------------------------")
        sinif_ortalama=sum(ort)/self.ogr_sayısı
        print("Sınıfın Ortalaması:{}".format(sinif_ortalama))


c=Ogrenci()
c.Ogrenci_sayisi()
c.Ogrenci_ismi()
c.Notlari_hesapla()
c.Harf_notunu_hesapla()
c.Çıktı()
c.sinif_ortalamasini_hesapla_ve_yazdir()

bazi yerlerde self.ogr_sayısı bazi yerlerde de ayni degere self.ogr_sayisi olarak erismeye calisiyorsun. yukarida hepsini ayni yaptim, calisyor. kodlamada turkce karakterler kullanmamaya calis.

2 Beğeni

Yine bir hata aldım kodu cevaplayıp bakar mısınız ?
{“isim”:ogr[i],“notlar”:notlar[i],“Ortalama”:ort[i],“Harf Notu”:harf_notu[i]}
]

Kısmında bir hata alıyorum.

Tamam çalıştı kodda bir sıkıntı yokmuş.