Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
305
Tıklama
0
Öne Çıkarma
Python bu kod neden çalışmıyor?
J
4 yıl
Binbaşı
Konu Sahibi

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"



< Bu ileti mini sürüm kullanılarak atıldı >

S
4 yıl
Yüzbaşı

Çü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.


Bu mesaja 1 cevap geldi.
J
4 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Start Again

Çü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



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
S
4 yıl
Yüzbaşı

List de kullanabilirsin. İki farklı list oluşturup aynı indekslere soru ve cevabı yerleştirebilirsin.




Bu mesajda bahsedilenler: @Jeg Elsker Norge
L
4 yıl
Er

Sormak istediğin veya anlamadığın bir yer varsa sorabilirsin kardeşim.

soru = [
"Bu program hangi dille yazıldı ?", ## Soru - 1 Cevap : Python
"Nasılsın ?", ## Soru - 2 Cevap : İyiyim
"Boşluğu tamamla : Donanım _____"] ## Soru - 3 Cevap : Haber

cevap = [
"Python", ## Soru - 1 'in Cevabı
"İyiyim", ## Soru - 2 'nin Cevabı
"Haber"] ## Soru - 3 'ün Cevabı

i=0
kontrol=""
while i<len(soru):
kullanıcı_cevabı = input("\nSoru - " + str(soru.index(soru[i])+1) + " : " +soru[i] +"\n" +
"Cevabınız : ")

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.")





DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.