Merhaba benim kodumda 3 e basınca(öğrenci listele) neden girilen en sonuncu ogr bilgilerini yazdırıyor.1.komutta ogr bilgilerini eklemiştik önceden

yapılacak budur
image

ana_menu=("*----------------------MENU-----------------*\n1-öğrenci ekleme\n2-öğrenci arama(öğrenci no ile\n3-sınıf listesi\n4-çıkış\n*-------------------------------------------*")
ogrenciler = {58:"Mehmet Akif Üner",76:"Ahmet Çakar"}
while True:
    print(ana_menu)
    seciminiz=input("yukardakilerden yapmak istediğinizi seçiniz: ")
    if seciminiz == "3":
         for ogrenci in ogrenciler.values():
             print(ogrenci)
         break
1 Beğeni

hayır ama 1. kodda istediğimiz kadar ogr ekleyebiliyoruz(yapılacakı atayım) yani ogrecilerin içine girilien değerler fotoğraftaki gibi yazdırılacak

dikkatlice izlerseniz ne demek istediğimi anlarsnız

biz bunu seninle çözmüştük ama inadına başka şekillere sokarak yaptığımız çözümü bozuyorsun

ogrenciler[ogr_no]

bu ogr_no için kullanıcıdan bir numara girmesini istemiştin sözlük içinden o numara ile bilgileri alıyordun

2 Beğeni

Benim yapmak istediğim sözlükteki tüm bilgileri yazdırması,girilen ogr nin nosuna göre aratıp yazdırması değil

Sözlüğe kaydı yapılan öğrenciyi eklersin.

siniflar = {"9k":{78:"Ahmet Hakan"}}
sinif = input("Öğrenci sınıfını girin:") 
isim = input("İsmini girin:") 
num = input("Numarayı girin:") 
if sinif not in siniflar.keys():
    siniflar[sinif] = {}
ogrenciler = siniflar[sinif]
ogrenciler[int(num)] = isim
print(siniflar)  

Sözlükle böyle bir şey yapabildim.

Ne yaptığınızı açıklar mısınız burda

İlk başta gerekli bilgileri kullanıcıdan alıyoruz. Sonradan belirtilen sınıfın sözlükte olup olmadığına bakıyoruz. Eğer yoksa ve bu sınıfa değer yazdırmaya çalışırsak keyerror hatası alıyoruz. Bu yüzden öyle bir sınıf yoksa sınıfın değerini boş bir sözlük olarak ayarlıyoruz. Boş sınıf ayarladıktan sonra okul numarasını anahtar olarak belirtip anahtarın değerini de öğrencinin ismi olarak ayarlıyoruz. Eğer önceden o sınıf varsa direkt o sınıfa öğrenciyi ekliyor.

Öncelikle teşekkür ederim.ama kullanıcıdan bilgi almaya gerek yok benim paylaşmadığım 1. komutta zaten bilgileri ekiyoruz.benim isteidğim o bilgileri fotodaki gibi yazdırma.

ana_menu=("*----------------------MENU-----------------*\n1-öğrenci ekleme\n2-öğrenci arama(öğrenci no ile\n3-sınıf listesi\n4-çıkış\n*-------------------------------------------*")
ogrenciler = {"9k":{58:"Mehmet Akif Üner",76:"Ahmet Çakar"}}
while True:
    print(ana_menu)
    seciminiz=input("yukardakilerden yapmak istediğinizi seçiniz: ")
    if seciminiz == "3":
        print("Sınıf     İsim       Numara\n----------------------------------") 
         for sinif, bilgiler in ogrenciler.items():
             for num, isim in bilgiler.items():
                 print(sinif, isim, num)
         break 

Merhaba benim yapmak istediğim:Önce 1. Kod ile boş listeye öğrenci bilgileri(adsyd no sınf) eklenecek sonra 3 e basıldığında kaç öğrenci bilgisi eklenmişse bu bilgileri alt alta yazdıaracak

Yapmanız gereken şey kodları birbirine birleştirmek

ana_menu=("*----------------------MENU-----------------*\n1-öğrenci ekleme\n2-öğrenci arama(öğrenci no ile\n3-sınıf listesi\n4-çıkış\n*-------------------------------------------*")
siniflar = {}
while True:
    print(ana_menu)
    seciminiz=input("yukardakilerden yapmak istediğinizi seçiniz: ")
    if seciminiz == "3":
        print("Sınıf     İsim       Numara\n----------------------------------") 
        for sinif, bilgiler in siniflar.items():
             for num, isim in bilgiler.items():
                 print(sinif, isim, num)
        continue
    elif seciminiz == "1":
        sinif = input("Öğrenci sınıfını girin:") 
        isim = input("İsmini girin:") 
        num = input("Numarayı girin:") 
        if sinif not in siniflar.keys():
            siniflar[sinif] = {}
        ogrenciler = siniflar[sinif]
        ogrenciler[int(num)] = isim
        print("Öğrenci kaydedildi!")

Teşekkürler .buna 2. Komutu ekleyebilir misiniz(benim 2.kodu sizle paylaşırım daha kolay uyrlarsınız

.items bir komut mu komutsa ne işe yarıyor