Text-based bi uygulama yapmaya çalışıyorum. Mantık şu şekilde olacak ekrana bir soru gelecek, eğer kullanıcı doğru cevabı verirse ikinci soruya geçilecek. Doğru cevap harici başka bir şey girilirse ilk soru tekrarlanacak. Bu şekilde peş peşe baya bir soru olacak. Python öğrenmeye başlayalı iki gün oluyor, döngüleri daha öğrenmedim, fonksiyonları tam bilmiyorum fakat mantık yürüterek şöyle bir kod çıkardım
def soru1(): print "BURADA SORU 1 YER ALIYOR"
cevap1 = raw_input("> ")
if "DOGRU CEVAP" in cevap1: soru2() else: print "YANLIS CEVAP, BURADA SORU 1 YER ALACAK"
def soru2(): print "SORU 2 YER ALACAK"
cevap2 = raw_input("> ")
if "DOGRU CEVAP" in cevap2: soru3() else: print "YANLIS CEVAP, SORU 2 BURDA YER ALACAK"
Çünkü yanlış cevap girince program sona eriyor. Tekrar aynı soruyu sordurman lazım. While döngüne alıp koşul koyarsın. Koşul sağlayınca programdan çıkar. Bir de her soru için ayrı fonksiyon yazmana gerek yok. Soru cevapları JSON dosyasına kayıt edip sıra ile çağırabilirsin.
Çünkü yanlış cevap girince program sona eriyor. Tekrar aynı soruyu sordurman lazım. While döngüne alıp koşul koyarsın. Koşul sağlayınca programdan çıkar. Bir de her soru için ayrı fonksiyon yazmana gerek yok. Soru cevapları JSON dosyasına kayıt edip sıra ile çağırabilirsin.
Json bilmediğim için böyle bie yol tercih ettim. Döngülere çalışayım o zaman
if kullanıcı_cevabı == cevap[soru.index(soru[i])] : if i+1==len(soru): kontrol="" while kontrol!=False: kontrol = input("\nSorularımız bitti.Programdan çıkmak için 0 baştan başlamak için 1 yazınız : ") if kontrol=="0": exit(0) elif kontrol=="1": i=0 kontrol=False else : kontrol=False else : print("Cevap Doğru.Bir sonraki soruya geçmeye hak kazandınız.") i+=1
else : print("Cevap Yanlış.Soruya tekrar dönelim.")
def soru1():
print "BURADA SORU 1 YER ALIYOR"
cevap1 = raw_input("> ")
if "DOGRU CEVAP" in cevap1:
soru2()
else:
print "YANLIS CEVAP, BURADA SORU 1 YER ALACAK"
def soru2():
print "SORU 2 YER ALACAK"
cevap2 = raw_input("> ")
if "DOGRU CEVAP" in cevap2:
soru3()
else:
print "YANLIS CEVAP, SORU 2 BURDA YER ALACAK"
< Bu ileti mini sürüm kullanılarak atıldı >