CodeBlanks Logo Icon CodeBlanks

Quiz oynatma

runQuiz fonksiyonuyla soruları sırayla sormayı öğrenirsin.

Quiz oynatma

Üçüncü derste runQuiz fonksiyonunu ekleriz. Bu fonksiyon listedeki tüm soruları sırayla yazdırır.

Örnek: fun runQuiz() { for (q in questions) { println(q.text); println("Cevap: ${q.answer}") } }. for (q in questions) ile her soru sırayla gezilir. q.text ve q.answer ile sorunun alanlarına erişilir. Veri modeli birinci dersten, addQuestion ikinci dersten gelir. Bu ders sadece runQuiz fonksiyonunu ekler.

Soru ve cevap yazdırma

runQuiz her soru için iki satır yazdırır: önce soru metni, sonra doğru cevap.

Örnek: for (q in questions) { println(q.text); println("Cevap: ${q.answer}") }. q.text soru metnini, q.answer doğru cevabı verir. ${q.answer} ile dize şablonu içinde özelliği gömeriz. Çağrı: runQuiz(). Sorular daha önce addQuestion ile eklenmiş olmalıdır; yoksa runQuiz boş çıktı verir.

Uygulama runQuiz ile soruları yazdır

Önceki derslerin çözümünü temel al: data class Question(val text: String, val answer: String), val questions: MutableList<Question> = mutableListOf() ve fun addQuestion(text: String, answer: String) tanımlı olsun. fun runQuiz() fonksiyonu ekle; gövdesi for (q in questions) ile her soruyu gezsin ve println(q.text) ile println("Cevap: ${q.answer}") yazsın. main içinde iki soru ekle ve runQuiz() çağır.

Başlangıç kodu

Main.kt
data class Question(val text: String, val answer: String)

val questions: MutableList<Question> = mutableListOf()

fun addQuestion(text: String, answer: String) {
    questions.add(Question(text, answer))
}

// runQuiz fonksiyonunu ekle: tüm soruları for ile gez, metin ve cevabı yazdır

fun main() {
    // İki soru ekle ve runQuiz çağır
}

Örnek çözüm

Main.kt
data class Question(val text: String, val answer: String)

val questions: MutableList<Question> = mutableListOf()

fun addQuestion(text: String, answer: String) {
    questions.add(Question(text, answer))
}

fun runQuiz() {
    for (q in questions) {
        println(q.text)
        println("Cevap: ${q.answer}")
    }
}

fun main() {
    addQuestion("Başkent hangi ülke?", "Türkiye")
    addQuestion("2+2 kaç?", "4")
    runQuiz()
}

Beklenen çıktı

Başkent hangi ülke?
Cevap: Türkiye
2+2 kaç?
Cevap: 4

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>runQuiz</code> fonksiyonu soruları gezmek için ne kullanır?

Main.kt
List iteration in Kotlin is done with for (element in list).
  • while ve index
  • do-while
  • recursion
  • for (q in questions) Doğru cevap

Açıklama: for (q in questions) ile her soru sırayla gezilir.

2 runQuiz parçalarını eşle

Kavram Anlamı
fun runQuiz() Fonksiyon imzası
for (q in questions) Liste döngüsü
q.text Soru metni
q.answer Doğru cevap

3 runQuiz döngüsünü tamamla

Soru
fun runQuiz() {
    for (q in ____) {
        println(q.text)
        println("Cevap: ${q.answer}")
    }
}
Cevap
fun runQuiz() {
    for (q in questions) {
        println(q.text)
        println("Cevap: ${q.answer}")
    }
}

Açıklama: for (q in questions) ile liste gezilir.

Orta seviye bölümündeki tüm dersler