Selamlar. Problemin kaynağı şurada;
En başta s1 inputu için bir kere if ifadesine soktuktan sonra gerisini elif yani else if bloğuna sokuyorsunuz. Bu sebeple if bloğu doğrulandıktan sonra algoritmanız çalışmıyor, A cevabını verdiğiniz de puan 10 olarak kalıyor. Burada yapılması gereken ilk nokta, s1, s2 gibi değerler için ayrı ayrı if tutulması olacaktır. Sizin yaptığınız durumda olayı şöyle açıklayabilirim;
Eğer s1 "A" ya eşit ise 10 puan ekle.
Eğer s1 "A" değil ise s2'yi kontrol et.
Bu noktada, if bloğu başta çalışacağı için diğer bloklara girmeyecek ve döngüden çıkacaktır. Bu yüzden şu şekilde revize ederek puan kaydetme veyahut puanı toplama işlemini mümkün kılabilirsiniz.
def quiz():
puan = 0
if(s1 == "A"):
puan = puan + 10
if(s2 == "C"):
puan = puan + 10
if(s3 == "C"):
puan = puan + 10
if(s4 == "B"):
puan = puan + 10
if(s5 == "B"):
puan = puan + 10
if(s6 == "C"):
puan = puan + 10
if(s7 == "A"):
puan = puan + 10
if(s8 == "D"):
puan = puan + 10
if(s9 == "B"):
puan = puan + 10
if(s10 == "B"):
puan = puan + 10
print("Tebrikler! Toplam puanın: ", puan)
Her bir soru için (s1, s2 vs.) if bloğuna girecek ve hepsini teker teker kontrol edecek. Cevaplar doğru olduğu takdirde puanı +10 arttıracak. Kolay gelsin.