Kod satırına seçenek olarak 2’yi seçtiğimde neden break komutu çalışıp döngüyü bitirmiyor veya exit() komutunu yazdığımda da aynı sorun oluyor yardımcı olabilecek var mı *
anaMenu = True
puan = 0
while True:
if anaMenu:
print(“Bilgi Yarışması Menu\n\n1-Oyunu Başlat\n2-Oyunu Kapat”)#Oyun Hakkında Kısmını Ekle
anaMenu = False
secim = input("OYUN BAŞLASIN MI :")
if secim == 1:
print("Sorular Geliyor...")
continue
elif secim == 2:
print("Programdan Çıkılıyor...")
break
print("""
Türkiye'nin başkenti neresidir ?
A-Tokat B-İstanbul
C-Ankara D-Sakarya
""")
cevap = input("Cevabınız:")
if cevap == "C" or "c":
puan += 10
print("Tebrikler Doğru Cevap Puanınız {} oldu.".format(puan))
continue
else:
print("Yanlış Cevap Oyun Bitti Puanınız {}.")
Bu kodların bir while True döngüsünde olduğunu varsayarsak, else bloğunun sonuna yerleştireceğiniz bir break ile içinde bulunduğunuz döngüden çıkabilirsiniz.
Break’i veya continue’yu ne biçimde ve nereye koyduğunuz önemli. Kodlarınızı ` karakterleri arasına yazarsanız anlaşılması daha kolay olur. Aşağıya hangi durumda döngüden çıkıp, hangi durumda tekrar edeceğini göstermek adına ufak bir örnek bıraktım.
print('--Bilgi Yarismasi--')
print('Yarisma baslasin mi? (E/H)')
secim = input('>>>') # Burada bizden bir yanıt bekliyor. 'E' girersek while döngüsüne girecek,
# 'H' girerkek doğrudan else bloğuna atlayıp programı sonlandıracak.
if secim == 'E' or secim == 'e':
while True: # Bu bloktan herhangi bir biçimde çıkana kadar:
print('1.) 2 Kaçtır?')
print('a.) 2 \nb.) 5')
cevap = input('>>>')
if cevap == 'A' or cevap == 'a': # Cevap doğru, döngüyü baştan çalıştırır.
print('Doğru bildiniz.')
continue
elif cevap == 'B' or cevap == 'b': # Cevap yanlış, döngüyü baştan çalıştırır.
print('Yanlis cevap!')
continue
else:
print('Gecersiz secenek!') # Cevap geçersiz, döngüyü sonlandırır.
break
else: # secim değişkeninin 'E' veya 'e' olmaması durumu
print('Hoscakalin...')
exit()
Çıktı:
--Bilgi Yarismasi--
Yarisma baslasin mi? (E/H)
>>>e
1.) 2 Kaçtır?
a.) 2
b.) 5
>>>x
Gecersiz secenek!
Process finished with exit code 0
Hata vermiyor, “hayır” seçme durumu için özel bir koşul oluşturmayıp else bloğuna dahil ettiğim için, ‘E’ olmayan her şey gibi davranıyor. Siz, bir elif bloğu daha oluşturup onun için bir koşul oluşturabilirsiniz.