While ile yazılan uygulama

Append metodunu denedim anlamadığım bir sepeten hata hatta buraya atıyorum kendinizde bizzat deneyebilirsiniz
Python:
gırıs = input("öğrenci kayıt işlemine hoşgeldiniz başlamak için Y yazın: ")
gırılemsiGerenekenKelime = "Y"

if gırıs == gırılemsiGerenekenKelime:
    ogrenciSayı = int(input("istemek istediğiniz öğrenci sayısı: "))
  
    ogrenciler = []

    a = 0
    while a < ogrenciSayı:
        ogrneciNumarası = input("öğrenci numarası: ")
        ogrenciIsım = input("ogrenci ısmı: ")
        ogrenciSoyIsım = input("ogrenci soy ismi: ")
        ogrenciTelefonu = input("ogrenci Telefonu: ")
        ogrenciler.append({
            ogrneciNumarası:{
                "name": ogrenciIsım,
                "surname": ogrenciSoyIsım,
                "phone": ogrenciTelefonu
            }
        })
        a += 1
    istenilen = input("istenilen ogrencinuamrası: ")
    istenilen1 = ogrenciler[istenilen]
    print(istenilen1)
  
# hata mesajı: istenilen1 = ogrenciler[istenilen]
TypeError: list indices must be integers or slices, not str

TypeError: list indices must be integers or slices, not str

dizi[] = {0,5,2} böyle bir dizi düşün. Sen bu dizideki 5 elemanını çağırmak isterken dizi[1] yazarsın. Oradaki 1 indikatör. Dizideki yerini söyleyen parametre yani. Sen oraya integer veya slice yazabilirsin, string yazamazsın diyor hata mesajı.

Sen ise öğrenci numarasını "istenilen" parametresine eşliyorsun. String alıyorsun. Yaptığın şey şuna benziyor;

dizi["1"] böyle bir kullanım şekli yok.
 
typeerror: List indices must be integers or slices, not str

Dizi[] = {0,5,2} böyle bir dizi düşün. Sen bu dizideki 5 elemanını çağırmak isterken dizi[1] yazarsın. Oradaki 1 indikatör. Dizideki yerini söyleyen parametre yani. Sen oraya integer veya slice yazabilirsin, string yazamazsın diyor hata mesajı.

Sen ise öğrenci numarasını "istenilen" parametresine eşliyorsun. String alıyorsun. Yaptığın şey şuna benziyor;

Dizi["1"] böyle bir kullanım şekli yok.

HMM anladım biraz önce tür dönüşümü yaparak bilgi çekmeye çalışdım buseferde index hatası verdi sanırım append metodu ile olacak bir şey degil. Bir de size şunu sormak istiyorum yazdığım bu kodlar algoritma mı oluyor bir kişi böyle dedi emin olamadım.
 

Yeni konular

Geri
Yukarı