Python NameError hatası

mikasaAckermann2

Centipat
Katılım
8 Temmuz 2024
Mesajlar
14
Daha fazla  
Cinsiyet
Erkek
Yeni Python kullanmaya başladım ve nameerror: Name 'question' is not defined diye hata alıyorum ama kodda bir hata göremiyorum. Kaçırdığım bir şey mi var?
 

Dosya Ekleri

  • Ekran görüntüsü 2024-07-08 140148.png
    Ekran görüntüsü 2024-07-08 140148.png
    23,8 KB · Görüntüleme: 67
  • Ekran görüntüsü 2024-07-08 140123.png
    Ekran görüntüsü 2024-07-08 140123.png
    20 KB · Görüntüleme: 62
Son düzenleyen: Moderatör:
Çok iyi anladığınız belli oluyor hocam.

Tabii ki, her şeyi gösterdiğim halde kendiniz iddia etmeye devam ediyorsunuz benlik bir sorun yok kendinizle alakalı. Visual Studio Code'daki işaretleri öğrenmeyi tercih edebilirsiniz. Dosya çalıştırılamıyorsa o işareti gösterir.
 
@lutch hocam şöyle ki, konu mesajındaki ilk görsele bakarsanız konu sahibi doğrudan Python'ı çalıştırıp interpretera giriyor. Sürüm bilgisi ve help satırı sonrasındaki satırın >>> ile başlamasından anlayabilirsiniz bunu. Sonrasında direkt olarak buradan print diyerek çalıştırdığı için hiçbir şey yapamıyor çünkü erişmek istediği değişkenler o ortamda bulunmuyor. İkinci görsele baktığınızda da kodun tamamının VS Code'da yazılı olduğunu görüyorsunuz, bunların ikisi farklı ortamlar. Dediğiniz gibi bir fonksiyon olsaydı onu interpreter ile çağırabiliyor olması lazım, gereksiz bir şey olduğu için unuttum ama yapmıştım bir kez ben de öyle şekilde.

Konu sahibinin sonra "kırmızı oldu, hata var" dediği şey muhtemelen dosyayı silmesinden kaynaklı, kendimde şöyle göstereyim:

2024-07-08 15_30_45-main.py - Arksoft-Staj - Visual Studio Code.png


Rastgele bir dosya oluşturup sildim, böyle oluyor. Kaydetmeyince de böyle oluyor mu ona emin değilim çünkü kendimi bildim bileli ilgili GitHub reposu ile bağlantılı ve autosave açık olarak kullanıyorum.

Konu sahibinin dosyasının adı Untitled-1, bu PyCharm'da bir dosya oluşturup da isim yazmayınca gelen varsayılan isim olması lazım. Yani konu sahibi yeni öğreniyor olduğu için bir şeyleri karıştırıp dosyayı silmiş vs. olabilir.
 
@lutch hocam şöyle ki, konu mesajındaki ilk görsele bakarsanız konu sahibi doğrudan Python'ı çalıştırıp interpretera giriyor. Sürüm bilgisi ve help satırı sonrasındaki satırın >>> ile başlamasından anlayabilirsiniz bunu. Sonrasında direkt olarak buradan print diyerek çalıştırdığı için hiçbir şey yapamıyor çünkü erişmek istediği değişkenler o ortamda bulunmuyor. İkinci görsele baktığınızda da kodun tamamının VS Code'da yazılı olduğunu görüyorsunuz, bunların ikisi farklı ortamlar. Dediğiniz gibi bir fonksiyon olsaydı onu interpreter ile çağırabiliyor olması lazım, gereksiz bir şey olduğu için unuttum ama yapmıştım bir kez ben de öyle şekilde.

Konu sahibinin sonra "kırmızı oldu, hata var" dediği şey muhtemelen dosyayı silmesinden kaynaklı, kendimde şöyle göstereyim:

Eki Görüntüle 2245659

Rastgele bir dosya oluşturup sildim, böyle oluyor. Kaydetmeyince de böyle oluyor mu ona emin değilim çünkü kendimi bildim bileli ilgili GitHub reposu ile bağlantılı ve autosave açık olarak kullanıyorum.

Konu sahibinin dosyasının adı Untitled-1, bu PyCharm'da bir dosya oluşturup da isim yazmayınca gelen varsayılan isim olması lazım. Yani konu sahibi yeni öğreniyor olduğu için bir şeyleri karıştırıp dosyayı silmiş vs. olabilir.

Evet ben de dosya kaynaklı olduğunu söyledim. Dosyayı okuyamıyor. Ben ona laf söylemedim. Kaydetmeyince oluyor evet ben yaşadım defalarca. Python'u sıfırdan az önce kurdum ve direkt olarak VSC'de çalıştırdım hiçbir sorun olmadan çalıştı. Değişkeni değiştirip kaydettiğinde çalıştırmış arkadaşımızda kod. Öğrenme aşamasında yanlış yazmıştır sonra değiştirmiştir kaydolmamıştır. O yüzden her zaman autosave öneririm. O işaret dosyanın okunamadığını gösterir silinmeyle vs.de de gösterir. Dosya değişirse bile onu gösterir. Fonksiyonu ben yıllar önce öğrendiğim için gerekli mi diye düşündüm. Kendim denedim o yüzden. Dediğiniz gibi interpreter ile çalıştırmış ama yukarıda tartıştığımız konu arkadaşımızın likes olarak yazdığı için problemli olduğunu söylemesiydi. Ama syntax doğru şekilde 'likes' şeklinde yazılmıştı. Interpreter'dan doğrudan olarak çalışsa bile kaydedildiği sürece okuması gerekli. Şu an CMD'den açıp aynı komutu çalıştırabilirim mesela dosya bende çünkü. Birileri nefret duyup emoji atmış sanırım. Kod doğru demişim ona bile hahaha. Oysaki paylaştım bile kodu ve ekran görüntüsünü,ilginç insanlar.
 
Hayır, gidip Python IDLE'ye print(question, likes, question2) yazıp çalıştırmaya çalışmış. Ayrı bir ortam olduğundan dolayı question bulunamaması normal.

Bu hata çok yapılıyor forumda, bir rehber hazırlanabilir Python kurulum & çalıştırma olarak.

Mesaj düzenlenmiş. Bana yazdığınızda özellikle likes yanlış yazıldı diye belirttiniz. Ama onu da düzenlemeyi unutmuşsunuz hala likes yazıyor.
 
Mesaj düzenlenmiş. Bana yazdığınızda özellikle likes yanlış yazıldı diye belirttiniz. Ama onu da düzenlemeyi unutmuşsunuz hala likes yazıyor.
Son düzenleyen moderatör @Bora Dere hocamız. Mesajı ben düzenlemedim, kendisine sorabilirsiniz. İlk yazdığım şekilde duruyor. Neden yalan söylüyorsunuz hocam 🤣
 
Son düzenleyen moderatör @Bora Dere hocamız. Mesajı ben düzenlemedim, kendisine sorabilirsiniz.

İlk versiyonuna baktım direkt aynı ortam yazısı görünmüyordu bile, ona göre cevap verdim. Yazılarımı ona göre değerlendirin. Yıllar önce Path yönlendirmeyi bilmeden Python kullanıyordum Visual Studio Code üzerinden. Çalıştırması gerekiyor. Dosyayı sildiği için de okuyamadığı da doğru. Onun dışında başka birinin görüp saçma sapan her mesaja emoji spamlamasına gerek yok.
 
@lutch Konu sahibi, shift enter basıp ya da terminale Python yazıp, son satırı da oraya yazıp çalıştırmış. Her iki durumda da hata, kodu bütün halde değil, sadece son satırı shellde execute etmeye çalışmasından kaynaklı. Israrla dosya hatası, dosya hatası demen bir şey değiştirmiyor. Değil dosya hatası.

1720443317019.gif
 
Son düzenleyen: Moderatör:
@lutch Konu sahibi, Shift enter basıp ya da terminale Python yazıp, son satırı da oraya yazıp çalıştırmış. Her iki durumda da hata, kodu bütün halde değil, sadece son satırı Shell de execute etmeye çalışmasından kaynaklı. Israrla dosya hatası, dosya hatası demen bir şey değiştirmiyor. Değil dosya hatası.

Eki Görüntüle 2245674

Moderatörümüzün de dediği gibi konuyu açan arkadaşımız attığı ekran görüntüsünde dosyanın bulunamadığını gösteriyor. Ben gösterilene bakarım ona göre cevap veririm. Olay bittikten sonra gelip alakasız şekilde emoji spamlayıp yorum yapmanız ne kadar etik? Biz tartışıyorsak biz tartışıyoruzdur çözeriz siz niye spam yapıyorsunuz? Belli ki yanlış anlaşılmış konuştuklarımız. Sizin nefret kusmanıza gerek yok.
 
Moderatörümüzün de dediği gibi konuyu açan arkadaşımız attığı ekran görüntüsünde dosyanın bulunamadığını gösteriyor. Ben gösterilene bakarım ona göre cevap veririm. Olay bittikten sonra gelip alakasız şekilde emoji spamlayıp yorum yapmanız ne kadar etik? Biz tartışıyorsak biz tartışıyoruzdur çözeriz siz niye spam yapıyorsunuz? Belli ki yanlış anlaşılmış konuştuklarımız. Sizin nefret kusmanıza gerek yok.
Nefret kusmuyorum, emoji de spamlamıyorum. Beğenmediğim, yanlış bulduğum ifadelere beğenmedim ifadesi bırakıyorum. İlk ekran görüntüsünde de o işaret yok. Sonradan dosyayı silmiş sadece. :D İlk ekran görüntüsünden beri alakasız şeyler söylüyorsun.
 

Technopat Haberler

Yeni konular

Geri
Yukarı