İlk başta elimizde, verileri yazmamız gereken bir dictionary olması lazım, değil mi?
Python:
studentDictionary = {}
Bu kodla "studentDictionary" adında bir Dictionary yani verileri tutacağımız yeri ayarlarıyoruz. Dictionary'de veriler, key/pair denilen sistemle tutulur. Yani her verinin (ki bu string de olabilir, Integer da, liste de, hatta başka bir dictionary bile) bir anahtarı vardır. Sözlükte veriyi bu anahtarla buluruz.
Sonrasında kullanıcıdan 3 kez öğrenci bilgisini girmesini ve akabinde sistemin 3 kez bu bilgileri dictionary'e yazması lazım, değil mi?
Senin kodunda bunu 3 kez alt alta yazmıştın ki bu pek tercih edilmez, zira 3'ü de aynı kod. Üstelik senin kodunda kullanıcıdan sadece bir kez input yani değer alıyorsun ve sürekli aynı değeri yazıyorsun.
Kısacası kullanıcı verisi girme ve veriyi sözlüğe yazma işlemini 3 kez yapmak lazım.
Ben bunun için, For döngüsü kullandım.
Kod:
for i in range(3):
Şimdi, For loopta "i" kullanıp, girdi olarak sadece tek bir sayı verirsen, bu şu anlama gelir:
Girilen sayı = 3 (Biz 3 girdik, bu nedenle 3. Ne girersen o olur)
1) i = 0
2) Döngü içindeki işlemi yap
3) i +1 (i değerini 1 arttır)
4) Eğer i, girilen sayıya eşitse döngüden çık. Eşit değilse 1. adıma dön ve tekrar et.
Burada girilen sayı, parantez içindeki 3 değeridir.
"Update()" Python'un içinde gelen bir fonksiyondur. Görevi, anahtar ve kilit olarak belirttiğin ikiliyi sözlüğe yazmaktır. Örnek: {key: value}
Fakat dictionary yapısında, bir anahtar sadece bir veriye bağlanabilir. Yani şöyle bir şey olamaz:
Python:
# Bu mümkün değil
{key: value_1, value_2...}
Bu nedenle, her kullanıcıda farklı olan bir değeri anahtar olarak seçiyoruz. Anahtarın değeri olarakta yeni bir sözlük yaratıyoruz. Bu durumda her kullanıcıda farklı olacak şey nedir? Tabii ki de öğrenci numarası:
Bu işlemin sonunda ana dictionary'deki her item şöyle bir değere sahip olacak:
İlk başta elimizde, verileri yazmamız gereken bir dictionary olması lazım, değil mi?
Python:
studentDictionary = {}
Bu kodla "studentdictionary" adında bir dictionary yani verileri tutacağımız yeri ayarlarıyoruz. Dictionary'de veriler, key/pair denilen sistemle tutulur. Yani her verinin (ki bu string de olabilir, ınteger da, liste de, hatta başka bir dictionary bile) bir anahtarı vardır. Sözlükte veriyi bu anahtarla buluruz.
Sonrasında kullanıcıdan 3 kez öğrenci bilgisini girmesini ve akabinde sistemin 3 kez bu bilgileri Dictionary'e yazması lazım, değil mi?
Senin kodunda bunu 3 kez alt alta yazmıştın ki bu pek tercih edilmez, zira 3'ü de aynı kod. Üstelik senin kodunda kullanıcıdan sadece bir kez input yani değer alıyorsun ve sürekli aynı değeri yazıyorsun.
Kısacası kullanıcı verisi girme ve veriyi sözlüğe yazma işlemini 3 kez yapmak lazım.
Ben bunun için, for döngüsü kullandım.
Kod:
for i in range(3):
Şimdi, for loopta "i" kullanıp, girdi olarak sadece tek bir sayı verirsen, bu şu anlama gelir:
Bundan sonrası ise input komutuyla verileri alma ve sözlüğe yazma.
"Update()" Python'un içinde gelen bir fonksiyondur. Görevi, anahtar ve kilit olarak belirttiğin ikiliyi sözlüğe yazmaktır. Örnek: {key: value}
Fakat dictionary yapısında, bir anahtar sadece bir veriye bağlanabilir. Yani şöyle bir şey olamaz:
Python:
# Bu mümkün değil.
{key: value_1, value_2...}
Bu nedenle, her kullanıcıda farklı olan bir değeri anahtar olarak seçiyoruz. Anahtarın değeri olarak da yeni bir sözlük yaratıyoruz. Bu durumda her kullanıcıda farklı olacak şey nedir? Tabii ki de öğrenci numarası:
Bu işlemin sonunda ana Dictionary'deki her item şöyle bir değere sahip olacak:
Gerçekden teşekkürler for döngüsünü bilmediğim için orayı anlamakda zorlandım fordöngüsünü öğrendiğim zaman o kısmıda rahatca anlayacağımı düşünüyorum.
Bu kodda benim anladığım update() komutu mevcut sözlügü güncellemeye yarıyor studentDictionary içi boş oluğu için buda bir günceleme sayılacakdır koda gelince.
Studentdictionary içine studentnunber sozcüğü oluşturup onun içinede ad anahtarı oluşturup karışsınada kullanıcıdan gelen yani inputdan gelen studentname atıyorsun diperleri de aynı şekilde burayı doğru anladığımı düşünüyorum.
Python:
{key: value_1, value_2...}
Burada bir anahtara bir tane veri koyulabilir 2. veriyi koyamasınız olarak anladım.
Geri kalanı anlamam zor olmadı bir de benim atdığım kod da son satır da.
Teşekkürler sizin dediğiniz gibi yol uzadı oradaki kod satırıda bütün öğrencilerin bilgileri alındıktan sonra ulaşılmak istenen öğrenci bilgilerini göstermeye yarıyor ama nasıl olduğunu anlayamadığım için size sordum.