Metin tabanlı programlama nedir

Örnek 04 / 12
Soru:

Bir psikoloji araştırmacısı, deneklerin bir teste verdikleri yanıtları kaydediyor. Doğru cevap için 1, yanlış cevap için 0 değerini girdi olarak alan bir program yazıyor. Kullanıcı "q" harfini girene kadar devam eden bu program, girdiği tüm sayıları bir liste içinde topluyor. Program sonlandığında, denek için:

  • Toplam soru sayısını
  • Doğru cevap sayısını
  • Başarı yüzdesini
ekrana yazdırıyor. Buna göre gerekli Python kodunu yazınız.

Çözüm:

💡 Bu problem, bir while döngüsü, liste yönetimi ve temel istatistik hesaplamaları içerir.

  • ➡️ İlk adım, cevapları saklayacağımız boş bir liste oluşturmak ve kullanıcı girişi için bir değişken tanımlamaktır.
  • ➡️ İkinci adım, sonsuz bir while True: döngüsü başlatmaktır. Kullanıcı "q" girdiğinde break komutu ile döngüden çıkılır.
  • ➡️ Üçüncü adım, kullanıcının girdiği değeri kontrol etmektir. Eğer girdi "q" değilse, integer'a dönüştürülüp listeye eklenir.
  • ➡️ Döngü bittikten sonra, listedeki 1 değerlerinin toplamı .sum() metoduyla alınarak doğru cevap sayısı bulunur. Toplam soru sayısı listenin uzunluğudur (len()). Başarı yüzdesi, doğru cevap sayısının toplam soru sayısına bölünüp 100 ile çarpılmasıyla hesaplanır.

✅ Örnek kod:

cevaplar = []

while True:

giris = input("Cevabı girin (1: Doğru, 0: Yanlış, q: Çıkış): ")

if giris == 'q':

break

else:

cevaplar.append(int(giris))

toplam_soru = len(cevaplar)

dogru_sayisi = sum(cevaplar)

yuzde = (dogru_sayisi / toplam_soru) * 100 if toplam_soru > 0 else 0

print(f"Toplam Soru: {toplam_soru}")

print(f"Doğru Cevap: {dogru_sayisi}")

print(f"Başarı Yüzdesi: %{yuzde:.1f}")

Kullanıcı sırasıyla 1, 0, 1, 1, q girdiğinde programın çıktısı:
Toplam Soru: 4
Doğru Cevap: 3
Başarı Yüzdesi: %75.0
olacaktır.

1 2 3 4 5 6 7 8 9 10 11 12
Konuya Geri Dön: