Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Soru tipinden bir şey anlamadım. Aşağıdaki şablona uydurursun.
Python:
soruCevapListesi = [
{
"title": "Soru 1: Hayvanlar",
"description": "Tavşanlar ne yer?",
"choices": [
[
0, # Bu cevabı vermek 0 puan kazandıracak. Yani yanlış cevap.
"Toprak"
],
[
1, # Bu cevabı vermek 1 puan kazandıracak. Yani doğru cevap.
"Havuç"
],
[
0, # Bu cevabı vermek 0 puan kazandıracak. Yani yanlış cevap.
"Gübre"
],
[
10, # Bu cevabı vermek 10 puan kazandıracak. İstemiyorsan yapmayabilirsin, kafama göre sürpriz yumurta ekledim işte.
"Çoğu şeyi yerler"
]
]
}
]
Böyle soru cevap listesini hazırlarsın. Sürpriz yumurta ekledim ben, istemiyorsan ona da sıfır yaz sadece doğru yanlış kısmını alırsın. Uzatmak için aynısını kopyala yapıştır aşağıya. Artık veri yapısını da biliyorsundir diye düşünüyorum.
Bunun listesindekileri işleyecek ana fonksiyonumuz da burada ne belirlediysek ona göre çalışıp en son oyun sonuçlarını yazdıracak. Ana kodu pek pırtıklamana gerek yok, yuakrıdaki veriyi pırtıklayarak oyunu uzatabilirsin.
Python:
def main(veri):
puan = 0
print("Karşılama mesajı")
for soru in veri:
print (f"------------ | {veri.index(soru)+1}. SORU | ----------- {puan} -")
print (soru["title"])
print (soru["description"])
for cevap in soru["choices"]:
print (f"{soru['choices'].index(cevap)}) {cevap[1]}")
while not 0: # Anlaşılabilirlik için. Böyle olunca kodu okurken zihin açmıyor.
answer = input ("Cevabınız: ")
if answer.isdigit() and int(answer) in range(len(soru['choices'])): # Olası hatadan kaçınmak için
böyle yaptık.
puan += soru['choices'][int(answer)][0]
print ((f"Doğru cevap! {soru['choices'][int(answer)][0]} puan kazandın.") if soru['choices'][i
nt(answer)][0] else "Bilemedin.")
break
elif answer == "Q" or "q":
print (f"Görüşürüz... En son skorun: {puan}")
time.sleep(5)
exit()
else:
print ("Geçersiz yanıt. Tekrar gir.")
print (f"Quiz bitti. SKor: {puan}")
Çıkış yaparken düzgün çıkması için sleep kullandım. Dosyaya time kütüphanesini import etmezsen hata verir.
Soru tipinden bir şey anlamadım. Aşağıdaki şablona uydurursun.
Python:
soruCevapListesi = [
{
"title": "Soru 1: Hayvanlar",
"description": "Tavşanlar ne yer?",
"choices": [
[
0, # Bu cevabı vermek 0 puan kazandıracak. Yani yanlış cevap.
"Toprak"
],
[
1, # Bu cevabı vermek 1 puan kazandıracak. Yani doğru cevap.
"Havuç"
],
[
0, # Bu cevabı vermek 0 puan kazandıracak. Yani yanlış cevap.
"Gübre"
],
[
10, # Bu cevabı vermek 10 puan kazandıracak. İstemiyorsan yapmayabilirsin, kafama göre sürpriz yumurta ekledim işte.
"Çoğu şeyi yerler"
]
]
}
]
Böyle soru cevap listesini hazırlarsın. Sürpriz yumurta ekledim ben, istemiyorsan ona da sıfır yaz sadece doğru yanlış kısmını alırsın. Uzatmak için aynısını kopyala yapıştır aşağıya. Artık veri yapısını da biliyorsundir diye düşünüyorum.
Bunun listesindekileri işleyecek ana fonksiyonumuz da burada ne belirlediysek ona göre çalışıp en son oyun sonuçlarını yazdıracak. Ana kodu pek pırtıklamana gerek yok, yuakrıdaki veriyi pırtıklayarak oyunu uzatabilirsin.
Python:
def main(veri):
puan = 0
print("Karşılama mesajı")
for soru in veri:
print (f"------------ | {veri.index(soru)+1}. SORU | ----------- {puan} -")
print (soru["title"])
print (soru["description"])
for cevap in soru["choices"]:
print (f"{soru['choices'].index(cevap)}) {cevap[1]}")
while not 0: # Anlaşılabilirlik için. Böyle olunca kodu okurken zihin açmıyor.
answer = input ("Cevabınız: ")
if answer.isdigit() and int(answer) in range(len(soru['choices'])): # Olası hatadan kaçınmak için
böyle yaptık.
puan += soru['choices'][int(answer)][0]
print ((f"Doğru cevap! {soru['choices'][int(answer)][0]} puan kazandın.") if soru['choices'][i
nt(answer)][0] else "Bilemedin.")
break
elif answer == "Q" or "q":
print (f"Görüşürüz... En son skorun: {puan}")
time.sleep(5)
exit()
else:
print ("Geçersiz yanıt. Tekrar gir.")
print (f"Quiz bitti. SKor: {puan}")
Çıkış yaparken düzgün çıkması için sleep kullandım. Dosyaya time kütüphanesini import etmezsen hata verir.
Soru tipinden bir şey anlamadım. Aşağıdaki şablona uydurursun.
Python:
soruCevapListesi = [
{
"title": "Soru 1: Hayvanlar",
"description": "Tavşanlar ne yer?",
"choices": [
[
0, # Bu cevabı vermek 0 puan kazandıracak. Yani yanlış cevap.
"Toprak"
],
[
1, # Bu cevabı vermek 1 puan kazandıracak. Yani doğru cevap.
"Havuç"
],
[
0, # Bu cevabı vermek 0 puan kazandıracak. Yani yanlış cevap.
"Gübre"
],
[
10, # Bu cevabı vermek 10 puan kazandıracak. İstemiyorsan yapmayabilirsin, kafama göre sürpriz yumurta ekledim işte.
"Çoğu şeyi yerler"
]
]
}
]
Böyle soru cevap listesini hazırlarsın. Sürpriz yumurta ekledim ben, istemiyorsan ona da sıfır yaz sadece doğru yanlış kısmını alırsın. Uzatmak için aynısını kopyala yapıştır aşağıya. Artık veri yapısını da biliyorsundir diye düşünüyorum.
Bunun listesindekileri işleyecek ana fonksiyonumuz da burada ne belirlediysek ona göre çalışıp en son oyun sonuçlarını yazdıracak. Ana kodu pek pırtıklamana gerek yok, yuakrıdaki veriyi pırtıklayarak oyunu uzatabilirsin.
Python:
def main(veri):
puan = 0
print("Karşılama mesajı")
for soru in veri:
print (f"------------ | {veri.index(soru)+1}. SORU | ----------- {puan} -")
print (soru["title"])
print (soru["description"])
for cevap in soru["choices"]:
print (f"{soru['choices'].index(cevap)}) {cevap[1]}")
while not 0: # Anlaşılabilirlik için. Böyle olunca kodu okurken zihin açmıyor.
answer = input ("Cevabınız: ")
if answer.isdigit() and int(answer) in range(len(soru['choices'])): # Olası hatadan kaçınmak için
böyle yaptık.
puan += soru['choices'][int(answer)][0]
print ((f"Doğru cevap! {soru['choices'][int(answer)][0]} puan kazandın.") if soru['choices'][i
nt(answer)][0] else "Bilemedin.")
break
elif answer == "Q" or "q":
print (f"Görüşürüz... En son skorun: {puan}")
time.sleep(5)
exit()
else:
print ("Geçersiz yanıt. Tekrar gir.")
print (f"Quiz bitti. SKor: {puan}")
Çıkış yaparken düzgün çıkması için sleep kullandım. Dosyaya time kütüphanesini import etmezsen hata verir.