Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
9
Cevap
513
Tıklama
0
Öne Çıkarma
kullanıcıdan alınan veriyle Dictionary oluşturma
L
5 yıl
Yüzbaşı
Konu Sahibi

merhaba böyle bir uygulamam var ama düşünüyorum nasıl yapacağımı bir türlü bulamadım imput komutuyala kullanıcıdan bilgi alıp Dictionary içine atmam gerekiyor bu uygulamayı nasıl yapabilirim bir fikri olan varmı



M
5 yıl
Teğmen

dict={}
a=input("key gir")
b=input("deger gir")
dict[a]=b


Bu mesaja 1 cevap geldi.
L
5 yıl
Yüzbaşı
Konu Sahibi

ne yazıkki çok fazla yardımcı olmadı zaten zolandığım kısım buralar bu kısmı mantığını anlatabilmeniz mümkünmü

< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @milkomeda
M
5 yıl
Teğmen

quote:

Orijinalden alıntı: layk5t

ne yazıkki çok fazla yardımcı olmadı zaten zolandığım kısım buralar bu kısmı mantığını anlatabilmeniz mümkünmü

< Resime gitmek için tıklayın >
Yapmak istediği şey öğrencileri numarasına göre kaydetmekse doğru yapmışsın işte. Mantığı da şu bak;
ogrenciler = { '15': {'ad': 'ali','soyad':'veli'},
'20': {'ad': 'mehmet','soyad':'dldl'}}
Her key için ayrı bir dictonary oluşturuyorsun.

ogrenciler["15"]={'ad': 'ali','soyad':'veli'}
ogrenciler["20"]={'ad': 'mehmet','soyad':'dldl'}

Bu da üstteki işle aynı kapıya çıkar.

Yalnız yazdıgın kodda name yerine number yazmıssın onu düzelt.
Print yaparken de mesela bilgisini görmek istediğin öğrencinin numarasını vererek yazdır. print(ogrenciler["15"]) gibi.
Numarası 15 olan öğrencinin adının ne oldugunu öğrenmek istersen print(ogrenciler["15"]["ad"]) kullanabilirsin.





< Bu mesaj bu kişi tarafından değiştirildi milkomeda -- 18 Temmuz 2020; 0:35:15 >
Bu mesaja 1 cevap geldi.
L
5 yıl
Yüzbaşı
Konu Sahibi

öncelikle teşekürler bunu bir nevi ezbere yaptığım için mantığını bir şekilde öğrenmem gerek düzet dediğiniz kısmı çokdan duzetmişim farkındaolamdan size hatalı kısmı atmışım vekafamı karıştıran bir noktada burası ss işaretledim orasını neden öyle
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi layk5t -- 18 Temmuz 2020; 1:22:28 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @milkomeda
-
5 yıl
Yüzbaşı

Senin öğrenciler dictionary'nin value dediğimiz değer kısmı da bir dictionaryden oluşuyor.

Yani, öğrenci numarası key(Anahtar)'i için, Value kısmı Ad-Soyad-Telefon değerlerini içeren dictionary tutuyor. Aşağı da print kısmında, girilen öğrenci değerine göre, öğrenci ismini bastırıyorsun. Dolayısıyla ilk önce o öğrenci değerine ait value değerlerini bir değişkene(ogrenci) atmışsın. Bu öğrenci'de senin Ad-Soyad-Telefon değerlerini tutuyordu. ogrenci['ad'] şeklinde de ismini çekmişsin. O işaretlediğin kısım bunun için var. ogrenciler['ogrNo']['ad'] ile eş anlamlı aslında.

Kod kısmına type(ogrenci), ogrenci.items() kodlarını yazarak bi incelersen belki mantığına daha fazla oturabilir, dediklerim anlaşılır gelmediyse.


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @layk5t
L
5 yıl
Yüzbaşı
Konu Sahibi

teşekürler bende baya uğraşdım sizin dediğiniz sonuca vardım tek sorun
ogrNo = input('öğrenci no: ')
ogrenci = ogrenciler[ogrNo]
print(ogrenci)

şu kod satırları benin kafamı karıştırdı daha doğrusu 2 satırdaki kod kafamı karıştırdı




Bu mesajda bahsedilenler: @-TheDifference-
L
5 yıl
Yüzbaşı
Konu Sahibi

ben size şöyle atayım daha iyi anlaşılacağını düşünüyorum
ogrenciler = {}
number = input("öğrenciNumarası ")
name = input("öğrenciAdı ")
surname = input("öğrenciSoyad ")
phone = input("öğrenciTelefonu ")

# ogrenciler[number] = {
# "ad":name ,
# "soyad":surname ,
# "telefon":phone
# }
# print(ogrenciler)

ogrenciler.update({
number:{
"ad":name ,
"soyad":surname ,
"telefon":phone
}
})

number = input("öğrenciNumarası ")
name = input("öğrenciAdı ")
surname = input("öğrenciSoyad ")
phone = input("öğrenciTelefonu ")

ogrenciler.update({
number:{
"ad":name ,
"soyad":surname ,
"telefon":phone
}
})

number = input("öğrenciNumarası ")
name = input("öğrenciAdı ")
surname = input("öğrenciSoyad ")
phone = input("öğrenciTelefonu ")

ogrenciler.update({
number:{
"ad":name ,
"soyad":surname ,
"telefon":phone
}
})

ogrNo = input('öğrenci no: ')
ogrenci = ogrenciler[ogrNo]
print(ogrenci)

print(f"Aradığınız {ogrNo} nolu öğrencinin adı: {ogrenci['ad']} soyadı: {ogrenci['soyad']} ve telefonu ise {ogrenci['telefon']}")

# olan yerler kodlara dahil değil zaten siz bunu biliyorsunuzdur





< Bu mesaj bu kişi tarafından değiştirildi layk5t -- 19 Temmuz 2020; 0:56:8 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @-TheDifference-
-
5 yıl
Yüzbaşı

Başta 3 adet veri toplanmış ogrenciler için.

Ogrenciler = { "120": { "ad": "Ahmet", "Soyad": "Gelen", "Telefon": "555"}, "121": { "ad": "Mehmet", "Soyad": "Gelen", "Telefon": "556"}, "122" : { "ad": "Ece", "Soyad": "Gelen", "Telefon": "555"}}

* Bu 3 inputtan sonra dictionary durumu tam olarak bu şekilde olacak.

Daha sonra bir input daha almışsın, bu gireceğin öğrenci numarasının bilgilerini verecek kullanıcıya. Onun için bu Ogrenciler içerisinden bir numara seçiyorsun. Bizim numaralarımız neydi? 120-121-122
* Seçtim ve 122'yi input olarak girdim.
* Alt satır | ogrenci = ogrenciler[ogrNo] -> ogrenci = ogrenciler["122"] ---> Bu Ögrenci numarası 122 olan öğrencinin value değerlerini al demek, bizim value değerlerde bir sözlüktü.
* Sonuç olarak -> { "ad": "Ece", "Soyad": "Gelen", "Telefon": "555"} bunu almış oldu ve ogrenci değişkenine attı.
* print(ogrenci) -> ogrenci adında ki dictionary'i basıcak, onu da bir önceki adımda bulmuştuk.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @layk5t
L
5 yıl
Yüzbaşı
Konu Sahibi

gerçekden çok teşekkür ederim 1 kaç gündür orayı anlamaya çalışıyorum büyük uğraşla diğer sözlükleri anladım ama son 3 satır beni bir hayli ugraşmışdı gerçekden teşekkürler




Bu mesajda bahsedilenler: @-TheDifference-
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.