Tulis cuplikan, fungsi, program, ... yang dikaburkan dengan cara yang terlihat jelas pada pandangan pertama bahwa ia melakukan sesuatu yang lain.
Sebagai contoh: tulis sedikit kode yang menambahkan dua angka, tetapi ketika Anda bertanya kepada seseorang "apa fungsinya?", Dia akan memberi tahu Anda itu mencetak "Halo, Dunia!".
Aturan
- Kode tersebut harus dapat dibaca untuk seseorang yang secara kasar mengetahui bahasa yang Anda gunakan (hindari bahasa yang dikaburkan secara intrinsik seperti APL, untuk kepentingan Anda sendiri).
- Kode harus melakukan sesuatu yang tidak terduga yang pada awalnya tidak dapat diprediksi oleh pembaca.
- Ketika Anda bertanya kepada pembaca yang berbeda, mereka harus memiliki pendapat yang sama (salah) tentang apa yang dilakukan kode.
Peringkat
- Harap baca kode kontestan lain selama maksimum 10-20 detik, hanya untuk mengetahui apa yang terjadi di sana.
- Tambahkan komentar ke jawaban yang mengatakan apa yang menurut Anda dilakukan oleh kode. Jika jawaban yang ingin Anda berikan sudah ada, cukup beri +1 pada komentar. (jika Anda melewatkan jawaban itu dan menambahkan komentar lain, jangan khawatir, itu tidak akan dihitung sebagai jawaban lain).
- Poin-poin akan disadarkan dengan cara ini: (
maxFalseOpinion
-goodGuess
) /totalOpinion
(lihat contoh di bawah). - Nilai kontestan lain dengan fairplay dan jangan komentar kode Anda sendiri.
- Hanya tambahkan komentar yang bermanfaat. Hindari "Saya tidak tahu" dan "bagus!", Mereka tidak diperhitungkan untuk peringkat, tetapi kode dan bukan peringkat yang harus dikaburkan.
Contoh penilaian
Cuplikan menambahkan dua angka. Komentar mengatakan:
(3) Ini menampilkan "Halo, Dunia!"
(1) Ini mengurangi 2 angka.
(2) Ia menambahkan 2 angka.
Jumlah total poin adalah jumlah maksimum pendapat (3) - jumlah tebakan yang baik (2) dibagi dengan jumlah total tebakan (3 + 1 + 2 = 6). Hasil: (3 - 2) / 6 = 1/6 = 16,67% .
LEBIH BANYAK TENTANG POIN
Orang-orang tampaknya mengalami kesulitan mencari tahu poinnya.
Ini skor sempurna:
printf('Hello World');
komentar:
Ini menampilkan jumlah waktu Anda mengklik tombol. (17 komentar).
JUMLAH: 17 komentar
Nilai: (17 - 0) / 17 = 1 = 100%
Berikut adalah skor lumpuh:
printf('Hello World');
komentar:
Mencetak "Hello World". (13 komentar).
JUMLAH: 13 komentar
Nilai: (0 - 13) / 13 = -1 = -100%
Ini skor yang tidak terlalu buruk:
printf('Hello World');
komentar:
Mencetak nama pengguna. (2 komentar).
Ini menampilkan waktu saat ini (15 komentar).
Ini mengembalikan apa yang Anda masukkan tanpa modifikasi. (3 komentar).
Mencetak "Hello World" (1 komentar).
JUMLAH: 21 komentar
Nilai: (15 - 1) / 21 = 0,6667 = 66,67%
Menjelaskan:
15 adalah tebakan utama, apa yang paling banyak dikatakan orang. 1 adalah jumlah tebakan yang benar. 21 adalah jumlah dari semua komentar.
sumber
Jawaban:
Javascript
Jawab: Ini keluaran
1
. Komentar di bawah ini menjelaskannya dengan cukup baik - ada dua variabel berbeda di sini, a - 'LATIN SMALL LETTER A' dan - 'CYRILLIC SMALL LETTER A' .Ada 1 jawaban yang benar, 50 orang berpikir itu menghasilkan 2, dan dengan total 52 jawaban, skornya adalah (50 - 1) / 52 = 49/52 = 94,23%
sumber
2
atau setidaknya itulah yang saya harap :)C, Skor 33,3%
Lari
./prog 'Hello & goodbye, world!'
Skor
Jawaban yang benar adalah
H\n
(while
bagian dari komentar, terima kasih kepada baris yang diakhiri\
, jadi tidak ada loop), diberikan oleh 6 orang.Kesalahan paling populer adalah
Hello goodbye, world\n
, diberikan oleh 25 orang.(25 - 6) / 57 = 33,3%.
Terima kasih kepada Olivier Dulac karena repot menghitung.
sumber
H\n
.Hello goodbye, world!
(no \ n) (2 spasi setelah Halo)Python
Peringkat
Jawaban yang bagus: Cetakan
0 1 4 9 16 25 36 49 64 64
, setiap angka pada satu baris.Penjelasan: Meskipun tidak ada yang mendapatkan jawaban yang benar, saya menganggap ini sebagian besar merupakan upaya yang gagal, karena tidak ada yang membuat kesalahan yang saya maksudkan. (Saya akan menambahkan penjelasan nyata nanti jika tidak ada orang lain yang melakukannya.)
Jumlah jawaban yang baik: 0
Jumlah orang dengan jawaban salah yang sama: 7
Total jumlah jawaban: 11
Nilai: 63,64% (dibulatkan menjadi dua desimal)
Penjelasan
Pertama, daftar
a
dibuat dan diisi dengan nilai-nilaii * ++i
. Tidak ada++
operator di Python, tetapi ada+
operator unary , yang tidak melakukan apa pun untuk bilangan bulat, dan menerapkannya dua kali masih tidak melakukan apa-apa. Jadia
berisi kotak dari bilangan bulat dari0
ke9
.Saya telah menempatkannya
++
sebagai gangguan dan berharap bahwa sebagian besar pemilih akan melanjutkan, berpikir mereka telah menemukan perangkap, dan jatuh ke dalam perangkap yang sebenarnya. Itu tidak berhasil. Beberapa mengira itu++
adalah kesalahan sintaksis, dan yang lain masih mencari jebakan.Jebakan Jebakan berada di kedua untuk loop:
Saya yakin bahwa kebanyakan orang akan berpikir ini mencetak semua
a[i]
, yaitu0 1 4 9 16 25 36 49 64 81
, setiap angka pada satu baris. Itulah yang Anda dapatkan dengan variaton ini, misalnya:x
ditugaskan nilai dalama
, dan kemudianx
dicetak. Di versi pertama,a[i]
ditugaskan nilai-nilaia
, dan kemudiana[i]
dicetak. Perbedaannya adalah, bahwa dalam kasus kami yang kami milikii == 9
, dan dengan demikian nilaia[9]
berubah setiap kali melalui loop. Ketika akhirnyaa[9]
dicetak, ia memiliki nilaia[8]
, dan dengan demikian64
dicetak lagi.sumber
++
dalam Python).SyntaxError
pada yang keduafor
.81
sepuluh kaliSyntaxError
pada yang keduafor
. Ini luar biasa. Ini benar-benar harus menang. Butuh 5 menit untuk mengerti apa yang terjadi lol!JavaScript , Skor -100%
Saya tidak menciptakan ini, Gary Bernhardt melakukannya tetapi itu adalah salah satu favorit saya
sumber
-100%
? ...Python, -54,8%
Jawab: Naik
SyntaxError: not a chance
Penjelasan:
from __future__ import braces
adalah salah satu telur paskah di Python. Ini dimaksudkan sebagai lelucon, mengatakan bahwa Python tidak akan pernah menggunakan kawat gigi untuk pelingkupan di masa depan.sumber
SyntaxError: not a chance
Perl, 26,67%
Hasil:
Ini mencetak, "Saya tidak setuju mengatakan apa-apa."
my $num1,$num2 = @_;
tidak ada tanda kurung. Oleh karena itu, ini setara denganmy $num1; $num2 = @_;
.$num1
tidak diatur untuk apa pun.Dengan demikian
$num1
tidak pernah lebih besar dari nol. Sedikit tentang dunia ikan rahasia yang tersembunyi dari layar adalah, err, ikan haring merah, sehingga orang berpikir mereka telah menemukan "trik".Selain itu, operator ternary adalah nilai l dalam Perl:
1 ? $a = 1 : $b = 2
sebenarnya berarti(1 ? $a = 1 : $b) = 2
. Yang berarti($a = 1) = 2
dievaluasi, pengaturan$a
ke2
. Berlawanan dengan penampilan, String kedua ditugaskan$num1
.Jika Anda bertanya-tanya,
//
apakah operator-atau-didefinisikan. Jika sub mengembalikan nilai yang tidak ditentukan, string"Stuff did not happen."
akan dicetak. Tetapi itu tidak benar-benar terjadi. Itu hanya untuk memberi orang pilihan lain.Mencetak:
Total benar: 5
Total tebakan: 30
Nilai: (13 - 5) / 30 = 26,67%
sumber
This is a secret fish world. Carp cannot be repressed!
.Hello, world!
.1 ? $a = 1 : $b = 2
sebenarnya berarti(1 ? $a = 1 : $b) = 2
. Yang berarti($a = 1) = 2
dievaluasi, menetapkan$a
ke 2. Juga, seperti yang ditunjukkan Primo,my $num1, $num2 = @_;
tidak melakukan apa yang Anda harapkan karena tanda kurung tidak ada.PHP 52%
(Disalin kata demi kata dari sini )
Penjelasan & Skor
sumber
train
.C ++ 28.9%
Larutan
Skor
Atas perkenan Alvin Wong
HelloWorld
(mengingat minitech dan zeel sama)Hello\nworld
3 memikirkan hal lain.sumber
cout
jika dipanggil tanpa parameter.HelloWorld
.Ruby, 100%
Jawaban yang benar:
Nilai: 3 dari jawaban salah yang sama, tidak ada jawaban lain.
sumber
Python, -28,13%
Ini mencetak
11
karenaelse
blok, yang menjadi milikwhile
, dijalankan setelah loop keluar.Nilai: (8 - 17) / 32 = -28,13%
sumber
else:
11
pada satu baris.Python: Rating: -27%
Program mencetak:
Rating: Total opini: 22 12 benar 3 + 1 + 6 salah [untuk jawaban Bakuiru, saya akan mengatakan itu dekat tapi masih salah karena os.name adalah string (os.uname adalah fungsi)]
Peringkat berdasarkan asumsi itu dan pemahaman saya tentang sistem peringkat: Maksimum salah = 6 Benar = 12 Skor = (6-12) / 22 = -27%
sumber
What is your name: [operating system name]
,What is your quest: Seek and find the holy grail
,What is your favourite color: blue
pada baris terpisah. Jelas[operating system name]
diganti dengan nama sebenarnya.name = "Robin"
,seek = "Seek and find holy grail"
danfavorite_color = "red"
, oh, tidak.blue
! (AAARRGGGHHH!)What is your name: <function os.name at 0x....>
dll.What is your name: Robin
,,What is your quest: Seek and find holy grail
danWhat is your favorite color: blue
pada jalur terpisah.Python
sunting:
skor (8-1) / 9 == 77,7%
output yang benar adalah '2 adalah perusahaan' di python 2, '3 adalah kerumunan' di python 3.
sumber
2 is a crowd
(dalam Python 2, 3 dalam Python 3).2 is company
(dalam Python 2), atau3 is a crowd
(dalam Python 3).JavaScript, -46,7%
Anda dapat menjalankannya di sini saat Anda siap (tebak dulu!). Jika Anda menggulir ke bawah cukup jauh di panel JS, Anda akan melihat kode dengan penjelasan singkat.
Jawaban yang benar:
Mencetak:
sumber
Please enter a number:
dan mengembalikan jawaban Anda diikuti olehtrue
.That's a big number
setelah penundaan sama dengan jumlah yang Anda masukkan dalam ms.Javascript
Jawaban: Ini peringatan
Hello
. Theconcat
Metode tidak mengubah array - itu mengembalikan sebuah array yang berisi gabungan dari array itu disebut dan argumen yang disediakan lainnya.15 benar, 26 salah, 41 jawaban total dan skornya adalah (26-15) / 41 = 11/41 = 26,83%
sumber
Hello, world!
Hello
Python 33,3%
Catatan: Asumsikan ini Python 2.x, dan bukan Python 3.
Saat dijalankan, kode ini menghasilkan
UnboundLocalError: local variable 'True' referenced before assignment
.sumber
SyntaxError
False, True = True, False
?True
.UnboundLocalError
.Jawa
Upaya pertama pada codegolf ...
jawaban yang bagus: Cetakan
Some ungodly gibberish and then some more.
dan baris baruPeringkat:
Nilai: 9% (55% dalam mode pedantic)
sumber
Some ungodly gibberish and then some more.
Some ungodly gibberish
dengan baris baruC # 62,5%
Ini golf kode pertamaku.
Jawaban yang benar adalah: "sesuatu antara 55 dan 110". Itu karena setiap kali pernyataan "jumlah + = i" dijalankan, itu akan menggunakan nilai i saat ini. Kode ini bahkan dapat dieksekusi setelah for loop selesai , pada titik mana saya memiliki nilai 11. Ini membuat nilai setinggi mungkin 110 (dan Anda dapat memastikan untuk melihatnya jika Anda memperlambat lambda dalam pengujian Anda). Nilai terkecil yang mungkin adalah jumlah (1.10), yaitu 55.
skor: secara tegas, tidak ada yang melakukannya dengan benar sehingga skor seharusnya (5-0) / 8 = 62,5%. Jika kita mau menghitung "kira-kira bagus" sebagai jawaban yang benar, maka skornya adalah (5-5) / 8 = 0%
sumber
Python, -83,3%
Jawab: Mencetak
a < b
jika inputnya sama,a = b
jika yang pertama lebih besar, dana > b
yang kedua lebih besar.Penjelasan:
cmp(a, b)
kembali0
jika kedua argumen sama,1
jika yang pertama lebih besar, dan-1
jika yang pertama lebih kecil, itulah sebabnya mengapa simbol perbandingan yang salah dicetak.sumber
a = b
untuk input a == b,a < b
untuk input a> b, dana > b
untuk input a <ba = b
jika a> b,a < b
jika a == b,a > b
jika a < b. (Ini mungkin apa yang dimaksud @Foon.)PHP, 100%
Pertama kali memposting ke kode jurang, semoga ini tidak terlalu buruk.
output yang benar adalah 'hellohelloworld'
skor adalah (10 - 0) / 10 = 1 = 100%
sumber
hello world
.'one' == 0
=>true
. Cukup pintar.Perl: 100% (4-0) / 4
Program ini mencetak "3" tanpa baris baru. Perl mem-parsing instruksi ini sebagai
jadi hanya
(1+2)
diteruskan sebagai argumen untukprint
.sumber
9
diikuti oleh baris baruC #
sumber
CPython
output yang benar adalah 'Hello'
skor (14-3) / 19 == 57,9%
sumber
Hello\nWorld!
.Hello
. (Ketergantungan implementasi.)C (Nilai: 4,45%)
Tebakan bagus: 7
Maksimal tebakan salah: 6 + 2 = 8
Tebakan total: 6 + 7 + 3 + 2 + 4 = 22
Solusi:
??/
adalah trigraph untuk\
, jadi baris baru diloloskan danscanf
baris dikomentari. Karena itu program berjalan selamanya, mencetakGuess a number between 1 and 10:
. Komentar adalah kutipan dari Mozart (viafortune
).Spoiler, cara mengompilasi dan menjalankan:
sumber
"Guess a number between 1 and 10: Guess a number between 1 and 10: Guess a number between 1 and 10: " (and so on)
tanpa meminta masukanJawa
Jawabannya
Mencetak
Padded value:
(dengan baris baru).format
Metode String adalahstatic
, dengan format yang dikirimkan sebagai parameter pertama. Yaitu panggilan di atas setara dengan:Jumlah jawaban yang baik: 2 Jawaban salah: 9
Nilai : (9-2) / 11 = 63%
sumber
Padded value: - 0012\n
C
Nilai = (3-16) / 19 == -68,4%
Jangan lupakan handukmu.
sumber
C ++
Nilai = (1 - 6) / 7 = -0.71428571428571 = -71.428571428571%
sumber
JavaScript
sumber
Z = false
.Python
output yang benar adalah 'hell0 w0rld'
skor (8-14) / 22 == -27,3%
sumber
hell0 w0rld
R: 100%
Bukan yang imajinatif tetapi mungkin membingungkan beberapa orang:
Menurut Anda apa hasilnya?
Edit :
Jawabannya adalah 20. Karena hilang
s
distringAsFactors
(bukanstringsAsFactors
), argumen tersebut tidak diakui sehingga fungsi membuat kolom baru yang disebutstringAsFactors
. Karena daur ulang vektor, kolom berisi 10 kaliTRUE
yang dikonversi menjadi1
s dalam jumlah, sehingga total 20 dan bukan 10.Jawaban ini tidak diberikan dalam komentar. 3 jawaban diberikan (semua mengatakan
10
lebih atau kurang). Oleh karena itu skor 100%, saya kira.sumber
10
.Tcl
Terinspirasi oleh ugoren
Maaf, lupa contoh string. Ok, jalankan sebagai
Sunting Solusi yang tepat: Tidak menyaring sama sekali. ( 6x )
Max salah jawab: 4x
Total jawaban: 10
Nilai: -0.2
sumber
" "
,"&"
,"\"
.