Menu
CoddyTech

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 sor ve her cevabın doğru olup olmadığını yazdır.

Soru bankası bu ders için sabit kodlanmıştır; oyuncunun cevapları stdin'den (her satırda bir tane olacak şekilde, sırayla) gelir.

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 oku: soruyu yazdır, bir satır oku, karşılaştır. Bir sonraki ders, büyük/küçük harf farkı veya baştaki ya da sondaki boşluklar nedeniyle başarısız olmaması için bu katı karşılaştırmayı esnetir.

challenge icon

Görev

Kolay

Programını, önceki adımdaki kodun yerine bu questions soru bankasıyla başlat:

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

stdin’den üç satır oku (oyuncunun yanıtlarını, sırasıyla). Her soru için şunları yazdır:

  1. Soru metnini kendi satırında
  2. Verilen yanıt saklanan yanıtla tam olarak eşleştiğinde correct, aksi hâlde wrong

Üç sorunun tamamından sonra doğru yanıtların sayısını içeren Score: <n>/3 değerini yazdır.

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

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

Kendin dene

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

// TODO: her soru için metni yazdır, cevabı oku, doğru/yanlış olduğunu yazdır;
// ardından 'Score: <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

Kendi başına pratik yap: Swift playground