merhaba bir proje üstünde çalışıyorum. 10 soruluk bir sistem kurdum fakat bu soruların her birine puan atamam gerekiyor. Nasıl yapabileceğim hakkında bilgi verebilir misiniz? for else if while döngülerini kullanarak denedim fakat bualamadım.
Merhabalar,
10 soru olduğunu söylemişsiniz, muhtemelen her soru doğru cevaplanırsa kişi 100 alacak. Bu da her sorunun 10 puan ettiğini gösteriyor.
Programın sonunda doğru cevap sayısını hesapladıysanız geriye pek bir şey kalmıyor. Doğru cevap sayısını bir değişkene atayın ve bu değişkeni 10 ile çarparak puanı bulun.
İyi kodlamalar.
4 Beğeni
#başlangıç puanı
points = 0
systemStartButton = True
while systemStartButton == True:
question1_answer = input("Türkiye'nin başkenti neresidir?")
if question1_answer == "Ankara" or question1_answer == "ankara":
print("Evet cevap doğru!")
points = points + 10
print("mevcut puan: {points}".format(points=points))
else:
print("Cevap yanlış!")
#Soru 2
question1_answer = input("2+2 = ?")
if question1_answer == "4":
print("Evet cevap doğru!")
points = points + 10
print("mevcut puan: {points}".format(points=points))
else:
print("Cevap yanlış!")
#soru 3
question1_answer = input("5! kaçtır?")
if question1_answer == "120":
print("Evet cevap doğru!")
points = points + 10
print("mevcut puan: {points}".format(points=points))
else:
print("Cevap yanlış!")
#soru 4
question1_answer = input("2. dereceden 9 kök dışına kaç diye çıkar?")
if question1_answer == "3":
print("Evet cevap doğru!")
points = points + 10
print("mevcut puan: {points}".format(points=points))
else:
print("Cevap yanlış!")
#soru 5
question1_answer = input("en büyük rakam kaçtır?")
if question1_answer == "9":
print("Evet cevap doğru!")
points = points + 10
print("mevcut puan: {points}".format(points=points))
else:
print("Cevap yanlış!")
if points == 50:
print("Testi başarıyla tamamladın.")
print("mevcut puanın: ", points)
break
else:
print("Bütün soruları doğru cevaplayamadın!")
print("mevcut puanın: ", points)
ben de yeniyim kod çok acemice olmuş olabilir ama sanırım else if while döngüleriyle bu şekilde oluyor
uzun olmasın diye 5 soruda kestim aynı şekil 10 da yapabilirsin
3 Beğeni
Eğer her sorunun puanı farklı olacak ise, sözlük veri tipini kullanarak amacınıza ulaşabilirsiniz.
sorular = {0: {"metin": "Türkiye'nin başkenti: ", "cevap": "Ankara", "puan": 20},
1: {"metin": "Fransa'nın başkenti: ", "cevap": "Paris", "puan": 5},
2: {"metin": "Hollanda'nın başkenti: ", "cevap": "Amsterdam", "puan": 15},
3: {"metin": "Almanya'nın başkenti: ", "cevap": "Berlin", "puan": 25},
4: {"metin": "Azerbaycan'ın başkenti: ", "cevap": "Bakü", "puan": 35}}
net_puan = 0
for soru in sorular:
metin = sorular[soru]["metin"]
cevap = sorular[soru]["cevap"]
puan = sorular[soru]["puan"]
yanit = input(metin)
if yanit == cevap:
net_puan += puan
print(f"Doğru bilerek {puan} puan kazandınız.")
else:
print(f"Yanıtınız yanlış, {yanit} yerine {cevap} olmalıydı.")
print(f"Net puanınız: {net_puan}")
Çıktı:
Türkiye'nin başkenti: Ankara
Doğru bilerek 20 puan kazandınız.
Fransa'nın başkenti: Paris
Doğru bilerek 5 puan kazandınız.
Hollanda'nın başkenti: Berlin
Yanıtınız yanlış, Berlin yerine Amsterdam olmalıydı.
Almanya'nın başkenti: Berlin
Doğru bilerek 25 puan kazandınız.
Azerbaycan'ın başkenti: Bakü
Doğru bilerek 35 puan kazandınız.
Net puanınız: 85
3 Beğeni
teşekkür ederim ilginiz için
1 Beğeni
Teşekkür ederim notlarımı aldım
1 Beğeni
teşekkür ederim gayet güzel görünüyor başarılar
1 Beğeni