Menu
CoddyTech

Laporan Ringkasan

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

Fitur terakhir: alih-alih menjalankan satu kategori, jalankan seluruh kuis dan tampilkan ringkasan per kategori di akhir.

Kamu akan mengandalkan semua bab sekaligus: unpacking tuple untuk perulangan, penilaian longgar dari bab string, dictionary dengan subskrip default dari bab dictionary, serta iterasi terurut untuk output deterministik.

Buat penghitung untuk setiap kategori sebagai dua dictionary paralel:

var totals: [String: Int] = [:]
var rights: [String: Int] = [:]

Tambahkan totals[cat, default: 0] += 1 untuk setiap pertanyaan; tambahkan rights[cat, default: 0] hanya jika jawabannya benar. Pada akhirnya, telusuri kategori sesuai urutan alfabet untuk mencetak laporan.

challenge icon

Tantangan

Sedang

Bank enam pertanyaan yang sama dari pelajaran sebelumnya. Baca six jawaban dari stdin, satu per baris, dengan urutan yang sama seperti di bank. Gunakan penilaian yang longgar.

Cetak dengan urutan berikut:

  1. Satu baris untuk setiap kategori, diurutkan secara alfabetis, dengan format <category>: <right>/<total>
  2. Satu baris terakhir: Total: <right>/<total> untuk seluruh proses

Untuk input 4 / 3.14 / Paris / Atlantic / green / WATER, outputnya adalah:

geo: 1/2
math: 2/2
science: 2/2
Total: 5/6

Coba sendiri

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("math", "Value of pi to 2 decimals?", "3.14"),
    ("geo", "Capital of France?", "Paris"),
    ("geo", "Largest ocean?", "Pacific"),
    ("science", "Color of grass?", "green"),
    ("science", "H2O is?", "water")
]

// TODO: baca 6 jawaban; nilai dengan toleran; hitung total dan jawaban benar per kategori;
// cetak baris ringkasan yang diurutkan + Total
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