Bu kodlardaki girinti hatasının nedeni nedir?

Python’da alıştırma amaçlı ufak bir program yazdım. Bunlar hatasız görünüyordu.

while True:
	yazı = """
	KAÇ KARAKTER?
	------------------------------------------------
	"""
	print(yazı)
	kackarakter = input("BİR ŞEY YAZIN:  ")
	sonuc = len(kackarakter)
	print("GİRDİĞİNİZ YAZI ŞU KADAR KARAKTER İÇERİYOR:", sonuc)
	devam = input("DEVAM ETMEK İSTİYOR MUSUNUZ?(e\h): ")
	if devam == "e" or "E":
		continue
	if devam == "h" or "H":
                print("ÇIKILIYOR...")
                import time
                time.sleep(2)
                exit()

Ancak çalıştırdığım zaman şu garip hatayı aldım:
hata
nedenini bilen var mı?

ekleme: hata şu blokları işaret ediyor:

print("ÇIKILIYOR...")

Merhaba, kodlarınızı buraya resim olarak değil de, yazı olarak atarsanız, bir başkası kodları daha rahat kontrol edebilir. Bu şekilde bir girinti hatası olup olmadığı pek belli olmuyor.

Paylaşacağınız kodlara kod görünümü kazandırmak için aşağıdaki gibi yazabilirsiniz.

[code]
Kodlarınızı bu aralığa yazın.
[/code]
1 Beğeni

Evet girintileme hatası var ayrıca yazdığınız if deyimlerinde de hata var. Ayrıca iki kere if kullanmak yerine if lerden bir tanesini else if olarak ayarlayayın çünkü devam değişkeninin başka bir koşulunda yapılması gereken işlemleri belirtiyorsunuz.

if devam == "e" or "E":  # hatalı

if devam == "e" or devam == "E":  # doğrusu

if devam == "h" or "H":  # hatalı

if devam == "h" or devam == "H":  # doğrusu

Kodlar:

while True:
    yazi = """
KAÇ KARAKTER?
------------------------------------------------"""
    print(yazi)
    kackarakter = input("BİR ŞEY YAZIN:  ")
    sonuc = len(kackarakter)
    print("GİRDİĞİNİZ YAZI ŞU KADAR KARAKTER İÇERİYOR:", sonuc)
    devam = input("DEVAM ETMEK İSTİYOR MUSUNUZ?(e\h): ")
    if devam == "e" or devam == "E":
        continue
    elif devam == "h" or devam == "H":
        print("ÇIKILIYOR...")
        import time
        time.sleep(2)
        exit()
2 Beğeni