Çözüldü Python if kodu hata veriyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

William Crusader

Hectopat
Katılım
11 Kasım 2020
Mesajlar
5.371
Makaleler
1
Çözümler
14
Daha fazla  
Cinsiyet
Erkek
Meslek
Yok
Merhaba. Yaptığım kodda kullanıcıya iki soru sorup, soruları doğru cevaplayıp cevaplamadığını belirtmek istedim. Ve eğer kullanıcı soruları doğru cevaplarsa sorun çıkmıyor. Fakat ilk soruyu yanlış yaparsa şu sorun çıkıyor:
Traceback (most recent call last):
File "c:\Users\Admin\Desktop\ilk proje.py", line 188, in <module>
if answer2 > 134:
NameError: name 'answer2' is not defined.
Bunu nasıl düzelteceğim?
Kod:
answer1 = int(input("Welcome to our Exam! What is 8+1? ")) if answer1 > 9: print ("Wrong") elif answer1 < 9: print ("Wrong") elif answer1 == 9: print ("Correct") if answer1 == 9: answer2 = int(input("Question 2: Whats 72+42? ")) if answer2 > 134: print ("Wrong") elif answer2 < 134: print ("Wrong") elif answer2 == 0: print ("Wrong") elif answer2 == 134: print ("Correct")
 
Çözüm
Sorunun kaynağı yukarda da yazıldığı gibi answer2'nin tanımlandığı yerin sadece bir koşulda gerçekleşmesi, sorunu çözmek için tanımlandığı yerde soldaki sütunla olan boşluğunu silin.

Ve kodunuzu şu şekilde sadeleştirmenizi öneririm.

Kod yazmanın yanı sıra temiz, anlaşılabilir ve sade kod yazmak da önemlidir.

Son olarak 72+42 için doğru cevap 114'dür.

Başka extra belirtmek istediğiniz bir durum/koşul ya da isteğiniz varsa kodları ona göre şekillendirebilirim.

Kodların fotoğrafını atar mısınız? Büyük ihtimalle answer2 için if else kod bloğu başka bir if else bloğunun içine girdi. Ama şuan sayfadaki her şey iç içe geçmiş o yüzden net bir şey söyleyemem.
 

Sansürlediğim kısımlar #'lu olduğu için çalışmıyorlar.
 
Sorunun kaynağı yukarda da yazıldığı gibi answer2'nin tanımlandığı yerin sadece bir koşulda gerçekleşmesi, sorunu çözmek için tanımlandığı yerde soldaki sütunla olan boşluğunu silin.

Ve kodunuzu şu şekilde sadeleştirmenizi öneririm.

Kod yazmanın yanı sıra temiz, anlaşılabilir ve sade kod yazmak da önemlidir.

Son olarak 72+42 için doğru cevap 114'dür.

Başka extra belirtmek istediğiniz bir durum/koşul ya da isteğiniz varsa kodları ona göre şekillendirebilirim.

 
Son düzenleme:
Çözüm
Answer2 sadece answer1'in 9 olduğu durumda tanımlanıyor, bu yüzden eğer answer1 9 harici bir şey ise hata veriyor program.

Evet arkadaşın dediği doğru çözüm olarak doğru cevabı belirten durumdan sonra answer1 = 9 komutunu kullanmayı deneyin.
 
Bu daha doğru bir çözüm olacaktır
 

Dosya Ekleri

  • Ekran Alıntısı.PNG
    18,6 KB · Görüntüleme: 84
Peki eğer ilk cevap yanlış ise, programın bitmesini nasıl sağlayacağım?
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…