Menu
Coddy logo textTech

Soruları Sorma

Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 50 / 56.

İlk özellik: her soruyu sırayla sorun ve her cevabın doğru olup olmadığını yazdırın.

Soru bankası bu ders için kodun içine sabitlenmiştir (hardcoded), oyuncunun cevapları stdin'den gelir (her satıra bir tane, sırayla).

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris")
]
for (_, text, answer) in questions {
    print(text)
    let given = readLine()!
    print(given == answer ? "correct" : "wrong")
}

Yukarıdan aşağıya okuyun: soruyu yazdırın, bir satır okuyun, karşılaştırın. Bir sonraki ders, büyük/küçük harf kullanımı veya fazladan boşluklar nedeniyle hata vermemesi için bu katı karşılaştırmayı yumuşatır.

challenge icon

Görev

Kolay

questions bankası verilmiştir. Standart girdiden (stdin) üç satır okuyun (oyuncunun sırasıyla cevapları). Her soru için şunları yazdırın:

  1. Kendi satırında sorunun metni
  2. Verilen cevap, saklanan cevaba tam olarak eşit olduğunda correct, aksi takdirde wrong

Üç sorunun tamamından sonra, doğru cevapların sayısıyla birlikte Score: <n>/3 yazdırın.

4 / Paris / red girdisi için çıktı şöyledir:

2 + 2?
correct
Capital of France?
correct
Color of grass?
wrong
Score: 2/3

Kopya kağıdı

Bir demet (tuple) soru dizisi üzerinde gezinin, stdin'den cevapları okuyun ve karşılaştırın:

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris")
]

var score = 0
for (_, text, answer) in questions {
    print(text)
    let given = readLine()!
    if given == answer {
        print("correct")
        score += 1
    } else {
        print("wrong")
    }
}
print("Score: \(score)/\(questions.count)")

Kendin dene

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris"),
    ("science", "Color of grass?", "green")
]

// YAPILACAK: her soru için metni yazdır, cevabı oku, doğru/yanlış yazdır;
// sonra 'Skor: <n>/3' yazdır
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler