Python Eğitmende çalışan kod bende çalışmıyor

merhaba izlediğim eğitmende aşağıdaki kod çalışıyor fakat bende çalışmıyor sebebi nedir?şimdiden teşekkürler…

adet = int(input("Kaç adet ürün alacaksınız: "))
i = 1
ürünler = []

while i <= adet :
isim = input("Ürünün ismini girin: ")
fiyat = input("Ürünün fiyatını girin: ")
ürünler.append({
“isim”:isim ,
“fiyat”:fiyat
})
i += 1

for ürün in ürünler :
print(f"Ürün adı : {ürün[“isim”]} ürün fiyat : {ürün[“fiyat”]}")

İlk dersini izlediniz mi?
Girintilerin önemli olduğu bölümü atlamış
olabilir misiniz?

1 Beğeni

yok editörde girinti var buraya yapıştırınca kaybolmuş. Yinede çalışmıyor.

Kod eklerken, formatlı yapıştırabilirsiniz.
Ayrıca hata çıktısını da belirtiniz.

adet = int(input("Kaç adet ürün alacaksınız: "))
i = 1 
ürünler = []

while i <= adet :
    isim = input("Ürünün ismini girin: ")
    fiyat = input("Ürünün fiyatını girin: ")
    ürünler.append({
    "isim":isim , 
    "fiyat":fiyat
    })
    i += 1

for ürün in ürünler :
    print(f"Ürün Adı : {ürün["isim"]}   Ürün Fiyatı : {ürün["fiyat"]}")

hata çıktısı:SyntaxError: f-string: unmatched ‘[’
kusura bakmayın daha yeniyim neyin ne olduğuna fazla hakim değilim.

Merhaba,
ürünler adında bir LİSTE yapısı oluşturmuşsun,
while döngüsü boyunca girilen değerleri bu liste yapısına birer SÖZLÜK yapısı şeklinde ekliyorsun. Yani, Liste yapısının içinde, bir çok sözlük yapısında veri bulunuyor. Ör; [{"elma" : 25}, {"kiraz" : 32}] …vb
Bu yapı ile de verilere ulaşmanın muhtemelen yöntemleri vardır ancak doğru olan, ürünler ve değerlerini sözlük (dict) veri yapısında kullanarak oluşturmaktır diye düşünüyorum.

Aşağıdaki kodu inceleyebilirsin.
Detaylı bilgi için;

https://medium.com/@urhanozgur67/pythonda-döngüler-giri-89449496b587

adet = int(input("Kaç adet ürün alacaksınız: "))
i = 1 
ürünler = {}

while i <= adet :
    isim = input("Ürünün ismini girin: ")
    fiyat = input("Ürünün fiyatını girin: ")
    ürünler[isim] = fiyat
    i += 1

for ürün, fiyat in ürünler.items() :
    print(f"Ürün Adı : {ürün},   Ürün Fiyatı : {fiyat}")
1 Beğeni
print(f"Ürün Adı : {ürün['isim']}   Ürün Fiyatı : {ürün['fiyat']}")

tırnak hatası var. Çift tırnak içerisinde yeniden çift tırnak kullanmışsınız.

2 Beğeni

Selamlar. Öncelikle terminale düşen hatayı okumak çok önemli. Örneğin siz SyntaxError: f-string: unmatched ‘[’
hatası almışsınız. Bunu hemen googleladığımızda en üstte çıkan bobbyhadz sitesine bir göz attım. sayfayı biraz aşağı kaydırdığımda sizin hatanızla neredeyse tamamen aynı olan bir hata gördüm, hata şu şekilde:

altında da gördüğünüz üzere We wrapped our f-string in double quotes but the string itself contains double quotes in the expression yazıyor. belki ingilizcemiz iyi değildir diye bir de bunu google çeviriye yazdım ve şöyle bir şey söyledi f-dizimizi çift tırnak içine aldık, ancak dizenin kendisi ifadede çift tırnak içeriyor. Eğer f-string’in ne olduğunu biliyorsak hataya bakarak öncelikle döngü içerisinde bulunan f-string’in olduğu yere bakmamız gerektiğini de anlıyoruz. Daha sonra sitedeki açıklamanın ne olduğu aklımıza geliyor. evet diyoruz, çift tırnak içerisinde yine çift tırnak kullandığımdan bu bozulmuş.
Bu tip basit araştırmalar daha hızlı öğrenmenizi sağlar, anlıyorum yenisiniz fakat hazır en baştan yazılım öğrenirken, yazılım geliştirirken bolca yapacağınız araştırma yeteneğinizi de geliştirmenizi öneririm. Çünkü tutorial izleyerek hiçbir zaman bir şeye tamamen hakim olamayacaksınız. Tutorial’lar size belki %5-%10 unu gösterecek ama geriye koca bir derya deniz kalacak, hatta burada da gördüğünüz gibi bazı şeyler gözünüzden kaçacak ve o gözünüzden kaçanlar hatalara sebep olacak. Ayrıca araştırmayı sevmiyorsanız ve ‘konuyu açarım cevapları beklerim’ diyorsanız da çok çok yavaş ilerlersiniz. kendiniz belki 15 saniyede bulacağınız şey için saatlerce cevap bekleyebilirsiniz.
Sizin iyiliğiniz için söylüyorum lütfen ofansif algılamayın. Kolay gelsin.

4 Beğeni

teşekkür ederim ingilizcem pek iyi değil aynı zamanda yeni başladığım için hataları nasıl aratmam gerektiğini pek bilmiyorum fakat bundan sonra dediğiniz gibi hata çıktısını tarayıcıda aratarak ilerleyeceğim ingilizcemin yetmediği kısımları çeviri yardımıyla anlamaya çalışacağım yapıcı eleştiriniz için teşekkür ederim.

1 Beğeni

çeviri için ayrıca deepl.com öneririm. çevirileri güzel yapıyor.

1 Beğeni