Pengujian standar biasanya dilengkapi dengan scan-tron atau beberapa jenis dokumen jawaban yang mencatat jawaban Anda. Komputer atau manusia kemudian akan memeriksa jawaban Anda dan menentukan nilai Anda. Jadi di sini, diberikan scan-tron dan kunci jawaban, tentukan skor dan pertanyaan terjawab jika ada. Scan-tron hanyalah sebuah dokumen dengan banyak baris dengan jawaban di mana pengguna mengisi (dalam hal ini, dilingkari). Contoh:
---
1. |a| b c d
---
Seperti yang Anda lihat, ini adalah pertanyaan 1 dengan pilihan jawaban a
dipilih karena memiliki kotak di sekitarnya. Untuk tantangan, Anda akan diberikan scan-tron dengan n
pertanyaan ( 1 <= n <= 10
) dengan hanya empat jawaban dilambangkan sebagai a
, b
, c
, atau d
. Kunci jawaban akan diberikan sebagai string tanpa spasi dan dengan semua huruf kecil. Contoh scan-tron dengan kunci jawaban:
Scan-tron
---
1. |a| b c d
---
---
2. a |b| c d
---
---
3. a b |c| d
---
Answer Key
abb
Anda dapat mengambil kunci jawaban dan memindai-tron sebagai input terpisah atau dalam urutan yang dipilih asalkan dapat diidentifikasi (yaitu kunci jawaban dipisahkan dari scan-tron). Skor akan dibulatkan ke sepersepuluh titik terdekat. Contoh output untuk yang di atas:
Score: 66.7
Missed #: 3
Jawaban lain yang dapat diterima adalah:
66.7
3
atau jika beberapa pertanyaan terjawab
66.7
3 4 5
selama nomor pertanyaan untuk mereka yang terlewatkan dipisahkan dari spasi oleh dan tidak pada baris yang sama dengan skor.
Aturan dan Spesifikasi
- Scan-tron dapat dimasukkan sebagai string multi-baris atau satu pertanyaan pada satu waktu (sebagai string dengan baris baru dapat diterima)
- Diberikan kunci pindai dan jawab, Anda harus menampilkan skor pada satu baris dan pertanyaan terlewatkan pada baris lain, dengan angka-angka dipisahkan oleh spasi. Jika tidak ada pertanyaan yang terlewatkan, tidak ada nomor pertanyaan yang harus dikeluarkan
- Skor dibulatkan ke sepersepuluh terdekat
Jawaban yang dipilih dikelilingi oleh kotak ini:
--- | | ---
- Pada scan-tron, setiap pertanyaan membutuhkan tiga spasi (bagian atas dan bawah kotak membutuhkan dua baris tambahan)
- Harus berfungsi untuk contoh di atas
- Asumsikan bahwa selalu ada hanya satu jawaban kotak
Kriteria Menang
Kode terpendek menang!
50
dapat diterima, atau haruskah demikian50.0
?Jawaban:
05AB1E , 43 byte
Cobalah online!
Penjelasan
sumber
Ditumpuk , 68 +1 = 69 byte
Cobalah online! +1 untuk
-p
bendera (skrip ini dapat dijalankan sebagaistacked -pe "..."
)Mengambil dua input dari atas tumpukan.
Beberapa fitur menarik:
Ini menghasilkan semua huruf yang dikelilingi oleh pipa.
Ini memberi kita semua nomor pertanyaan yang salah.
sumber
Python 2 ,
9493 byte-1 byte terima kasih kepada L3viathan
Cobalah online!
sumber
100.
dengan1e2
Pip ,
4946444845 byteUgh, pembulatan itu membutuhkan begitu banyak byte ... 44 byte kode, +1 untuk
-s
bendera.Mengambil input sebagai argumen baris perintah (halaman scan-tron perlu mengutip dan keluar dari baris baru jika Anda menjalankannya dari baris perintah yang sebenarnya). Keluarkan pertanyaan yang terlewatkan terlebih dahulu, kemudian skor. Cobalah online!
Penjelasan
Saya akan melakukan ini dalam dua bagian: daftar pertanyaan yang salah dan skor.
sumber
JavaScript (ES6), 88 byte
Saya bisa menghemat 5 byte dengan menggunakan koma dan mengembalikan semuanya satu baris:
sumber
Batch, 242 byte
Membaca di kunci jawaban di STDIN terlebih dahulu, lalu
n*3
baris pertanyaan. Catatan: Skor dicetak tanpa nol di depan jika kurang dari1.0
. Jawaban yang terlewatkan dicetak dengan spasi terdepan.sumber
CJam ,
4745 byteCobalah online!
Penjelasan
Program ini dalam tiga bagian utama:
Setelah bagian ini, kita memiliki array
0
s dan1
s, di mana0
menunjukkan jawaban yang salah dan jawaban1
yang benar.Setelah bagian ini, tumpukan hanya berisi daftar benar / salah, dan skor persentase telah dihasilkan.
sumber
Jolf, 46 byte
Sepertinya saya tidak bisa memecahkan 46 byte. Saya punya dua solusi sejauh ini. Coba satu di sini!
(Ganti
□
dengan0x7f
yang berikutnya)Dalam kedua kasus, 15 byte untuk pembulatan:
mX*~1/-lζlγlζ_1
. Mereka, sebagian besar, sama, kecuali satu menggunakan pencocokan regex untuk mendapatkan hasil, dan yang lainnya terbagi pada pipa.sumber