Menu
CoddyTech

Penilaian Toleran

Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 51 dari 56.

Kesetaraan ketat terasa kaku. Kuis sungguhan menerima paris, Paris, dan PARIS sebagai jawaban yang sama.

Resep dari bab 1: hapus spasi di awal dan akhir, ubah kedua sisi menjadi huruf kecil, lalu bandingkan:

func grade(_ given: String, _ answer: String) -> Bool {
    let g = given.trimmingCharacters(in: .whitespaces).lowercased()
    let a = answer.trimmingCharacters(in: .whitespaces).lowercased()
    return g == a
}

Fungsi pembantu seperti ini layak dipisahkan menjadi fungsinya sendiri. Perulangan kuis lebih mudah dibaca dengan satu baris untuk setiap pertanyaan, dan perbaikan bug besok bisa dilakukan di satu tempat.

challenge icon

Tantangan

Mudah

Tentukan fungsi grade(_ given: String, _ answer: String) -> Bool yang mengembalikan true ketika kedua string cocok setelah spasi dihapus dan huruf pada kedua sisi diubah menjadi huruf kecil.

Mulai programmu dengan bank questions ini, sama seperti pada langkah sebelumnya:

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

Baca tiga baris dari stdin. Cetak, untuk setiap pertanyaan:

  1. Teks pertanyaan
  2. correct atau wrong berdasarkan perbandingan yang toleran

Setelah program dijalankan, cetak Score: <n>/3.

Untuk input 4 / PARIS / Green, output-nya adalah:

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

Coba sendiri

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

// TODO: buat func grade(_:_:)->Bool dengan perbandingan setelah trim + lowercase
// lalu lakukan perulangan, tampilkan pertanyaan, baca jawaban, tampilkan benar/salah;
// akhiri dengan 'Score: <n>/3'
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Playground Swift