-ENDED- Lakukan sesuatu yang terlihat seperti sesuatu yang lain [ditutup]

78

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.

SteeveDroz
sumber
5
Gagasan yang mungkin untuk para kontestan (terutama yang menulis C) dapat ditemukan di underhanded.xcott.com
shiona
3
Saya merasa orang-orang akan enggan berkomentar jika mereka tidak melihat triknya (karena mereka jelas-jelas salah). Ini akan sangat mengubah hasil.
ugoren
2
@Haidro, saya akan mengatakan bahwa jika Anda tahu bahasanya sedikit, dan tampaknya mengerti apa yang dilakukan program, maka komentar. Jika Anda tidak dapat memahaminya (mis. Saya tidak bisa mengerti jawaban slackwear ), jangan.
ugoren
2
Kapan tantangan berakhir?
WolframH
4
Saya pikir Anda harus mensyaratkan jumlah tebakan minimum untuk pemenang - saya katakan 10. 1 jawaban salah dari 1 tidak terlalu mengesankan, namun 100%.
ugoren

Jawaban:

79

Javascript

var а;
a = 1;
а++;
alert( a );

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%

Danko Durbić
sumber
57
Keluaran 2atau setidaknya itulah yang saya harap :)
Alexander
8
Ini adalah cuplikan JS paling keren yang pernah saya lihat. Permainan yang bagus.
Peter Majeed
1
Bagi mereka yang tidak mendapatkannya (spoiler di depan): tautan
BlueRaja - Danny Pflughoeft
3
@soandos: (LAGI, SPOILERS): Variabel yang digunakan di baris pertama dan ketiga berbeda dari yang ada di baris kedua dan keempat. Satu menggunakan a (U + 0061) sedangkan yang lainnya menggunakan a (U + 0430). Lihat juga .
BlueRaja - Danny Pflughoeft
5
Seorang teman saya berpikir ini sangat lucu dan terinspirasi untuk menulis ini github.com/johnhaggkvist/WATifyJS - Dia memiliki terlalu sedikit perwakilan untuk berkomentar jadi saya melakukannya untuknya ^ _ ^
Henrik Andersson
32

C, Skor 33,3%

#include <stdio.h>
int main(int ac, char **av) {
        const char *arg = av[1];
        #define valid_ch(ch) (ch!='&' && ch!='\\')  // All valid except & and \
        while (*arg)
        {
                if (valid_ch(*arg)) putchar(*arg);
                arg++;
        }
        puts("");
        return 0;
}

Lari ./prog 'Hello & goodbye, world!'

Skor

Jawaban yang benar adalah H\n( whilebagian 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.

ugoren
sumber
24
Cetakan "Halo, selamat tinggal, dunia! \ N" ...
Vi.
5
Ini adalah loop tanpa akhir.
5
Hanya mencetak karakter pertama di arg dan baris baru. Jadi ia mencetak H\n.
marinus
7
Cetakan: Hello goodbye, world!(no \ n) (2 spasi setelah Halo)
Olivier Dulac
6
menghasilkan SEGFAULT.
pascalhein
27

Python

a = []
for i in range(10):
    a.append(i * ++i)
for a[i] in a: 
    print(a[i])

Peringkat

  1. Jawaban yang bagus: Cetakan 0 1 4 9 16 25 36 49 64 64, setiap angka pada satu baris.

  2. 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.)

  3. Jumlah jawaban yang baik: 0

  4. Jumlah orang dengan jawaban salah yang sama: 7

  5. Total jumlah jawaban: 11

  6. Nilai: 63,64% (dibulatkan menjadi dua desimal)

Penjelasan

Pertama, daftar adibuat dan diisi dengan nilai-nilai i * ++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. Jadi aberisi kotak dari bilangan bulat dari 0ke 9.

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:

for a[i] in a: 
    print(a[i])

Saya yakin bahwa kebanyakan orang akan berpikir ini mencetak semua a[i], yaitu 0 1 4 9 16 25 36 49 64 81, setiap angka pada satu baris. Itulah yang Anda dapatkan dengan variaton ini, misalnya:

for x in a: 
    print(x)

xditugaskan nilai dalam a, dan kemudian xdicetak. Di versi pertama, a[i]ditugaskan nilai-nilai a, dan kemudian a[i]dicetak. Perbedaannya adalah, bahwa dalam kasus kami yang kami miliki i == 9, dan dengan demikian nilai a[9]berubah setiap kali melalui loop. Ketika akhirnya a[9]dicetak, ia memiliki nilai a[8], dan dengan demikian 64dicetak lagi.

WolframH
sumber
3
Kesalahan sintaksis (tidak ada ++dalam Python).
ugoren
5
SyntaxErrorpada yang kedua for.
Bakuriu
Mencetak 81sepuluh kali
Michael0x2a
SyntaxErrorpada yang kedua for. Ini luar biasa. Ini benar-benar harus menang. Butuh 5 menit untuk mengerti apa yang terjadi lol!
rubik
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
26

JavaScript , Skor -100%

Saya tidak menciptakan ini, Gary Bernhardt melakukannya tetapi itu adalah salah satu favorit saya

alert(Array(16).join("wat?" - 1)+", BATMAN!")
mplungjan
sumber
37
Keluaran NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNN, BATMAN! :)
codefreak
1
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
Sepertinya video itu cukup terkenal ...
Bakuriu
3
Apakah ini -100%? ...
Alvin Wong
Tentu saja. Batman memberikannya.
mplungjan
14

Python, -54,8%

Jawab: Naik SyntaxError: not a chance

from __future__ import braces

if (input() > 0) {
print 'You entered a positive number';
}
else {
print 'You didn\'t enter a positive number';
}
  • Tebakan bagus: 24
  • Dugaan buruk yang sama: 7
  • Total tebakan: 31

Penjelasan:

from __future__ import bracesadalah salah satu telur paskah di Python. Ini dimaksudkan sebagai lelucon, mengatakan bahwa Python tidak akan pernah menggunakan kawat gigi untuk pelingkupan di masa depan.

Keriangan
sumber
6
Menguji apakah hasil dari ekspresi yang disediakan pengguna ditandatangani.
Felix Dombek
1
Saya menduga ada beberapa kesalahan. Pemrogram python keras kepala;)
grc
12
Ini adalah kesalahan Sintaks!
Dhara
11
SyntaxError: not a chance
Bakuriu
2
@BoppreH Mohon batasi diri Anda dengan menyatakan hasilnya tanpa penjelasan eksplisit atau tingkatkan komentar yang sudah menyatakan hasil yang Anda anggap benar. Jenis komentar lain hanya merusak kesenangan untuk mengikuti pembaca.
Bakuriu
14

Perl, 26,67%

Hasil:

Ini mencetak, "Saya tidak setuju mengatakan apa-apa."

my $num1,$num2 = @_;tidak ada tanda kurung. Oleh karena itu, ini setara dengan my $num1; $num2 = @_;. $num1tidak diatur untuk apa pun.

Dengan demikian $num1tidak 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 = 2sebenarnya berarti (1 ? $a = 1 : $b) = 2. Yang berarti ($a = 1) = 2dievaluasi, pengaturan $ake 2. 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%

no warnings;
no strict;
no feature;
no 5.16;
no Carp;

sub do_mysterious_stuff
{
    my $num1,$num2 = @_;               

    if ($num1 > 0)
    {                                                                                                                  eval q; $num1="This is a secret fish world. Carp cannot be repressed!" or
       $num1 = "Hello, world!";
    }
    else
    {
        $num2 > 0 ? 
            $num1 = "What's up, world?": 
            $num2 = "I am ambivalent about saying anything at all.";
    }

    return $num1;
}

print do_mysterious_stuff(1,1) //"Stuff did not happen.";

sumber
2
Hasilnya, saya tidak setuju mengatakan apa-apa.
marinus
10
Mencetak This is a secret fish world. Carp cannot be repressed!.
ugoren
13
Tidak menjadi perl guru ini harus dicetak Hello, world!.
Alexander
2
Nah, itu dia teman-teman. Saya tidak pernah berurusan dengan Perl lagi.
Tn. Llama
3
@ContextSwitch dan @aidan, operator ternary adalah nilai-l di Perl. 1 ? $a = 1 : $b = 2sebenarnya berarti (1 ? $a = 1 : $b) = 2. Yang berarti ($a = 1) = 2dievaluasi, menetapkan $ake 2. Juga, seperti yang ditunjukkan Primo, my $num1, $num2 = @_;tidak melakukan apa yang Anda harapkan karena tanda kurung tidak ada.
14

PHP 52%

  $arg = 'T';
  $vehicle = ( ( $arg == 'B' ) ? 'bus' :
               ( $arg == 'A' ) ? 'airplane' :
               ( $arg == 'T' ) ? 'train' :
               ( $arg == 'C' ) ? 'car' :
               ( $arg == 'H' ) ? 'horse' :
               'feet' );
  echo $vehicle;

(Disalin kata demi kata dari sini )

Penjelasan & Skor

Jawaban yang benar adalah kuda . Ini bukan trik atau sulap. Anehnya, ini adalah bagaimana operator ternary didefinisikan dalam PHP.
3 memilih jawaban yang benar: kuda ,
16 orang memilih kereta api yang benar secara harfiah setiap bahasa lain yang pernah ditemukan, kecuali PHP.
25 jawaban total, memberikan skor (16 - 3) / 25 = 52%

bantu
sumber
5
kaki
wim
15
cetakan train.
SteeveDroz
3
cetakan 'kuda'.
Jonathan
1
Dan itu ... itulah sebabnya Anda hampir selalu harus menggunakan tanda kurung untuk menunjukkan urutan operasi, bahkan jika Anda pikir Anda tidak membutuhkannya.
Ryan Amos
12

C ++ 28.9%

#include <iostream>

using namespace std;

void print( void ) {
  static int times = 0;

  switch( times ) {
  case 0:
     cout << "Hello";
     break;
  case 1:
     cout << "World";
     break;
  default:
     cout << "Goodbye";
     break;
  }
  times++;
}

int main(int cout, char* argv[]) {

  print();
  cout << '\n';
  print();
}

Larutan

Inti dari kode ini adalah untuk menipu pengguna agar berpikir bahwa karakter baris baru akan dicetak antara teks "Halo" dan "Dunia". Perhatikan bahwa parameter pertama ke utama bernama cout. Karena, dalam lingkup main, cout adalah integer, operator << sebenarnya melakukan operasi shift kiri dengan parameter '\ n', daripada mencetak baris baru. Fungsi cetak ada terutama untuk mengambil perhatian dari parameter input di main, tetapi juga untuk memungkinkan std :: cout untuk digunakan tanpa menambahkan awalan namespace.

Skor

Atas perkenan Alvin Wong

  • Total 38 jawaban:
  • 12 pemikiran HelloWorld(mengingat minitech dan zeel sama)
  • 23 pikir Hello\nworld 3 memikirkan hal lain.
  • Skor adalah (23 - 12) / 38 = 28,9%
Nick Hartung
sumber
23
Mencetak "Halo" di satu baris, dan "Dunia" di baris berikutnya.
redtuna
2
Mencetak "HelloWorld". Masukan 1024 coutjika dipanggil tanpa parameter.
Alexander
9
Cetakan HelloWorld.
Ry-
1
Mencetak HelloWorld. Dan melakukan shift kiri agak bijak pada bilangan bulat "cout".
zeel
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
10

Ruby, 100%

display = lambda { puts "Hello, world!" }
display()

Jawaban yang benar:

Mencetak "utama" tanpa baris baru. Penjelasan: Di Ruby, Anda tidak dapat memanggil lambda menggunakan sintaks tanda kurung normal. Sebaliknya, display () ditafsirkan sebagai metode bawaan semua objek memiliki: o.display mencetak o.to_s ke output standar. Metode yang disebut tanpa objek ditafsirkan sebagai metode "utama", sebuah Objek yang menyertakan modul Kernel.

Nilai: 3 dari jawaban salah yang sama, tidak ada jawaban lain.

histokrat
sumber
3
Cetakan "Halo, dunia!"
3Doubloons
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
8

Python, -28,13%

x = 0
while x < 10:
    if (x%2)==0: x += 2
else: x += 1

print x

Ini mencetak 11karena elseblok, yang menjadi milik while, dijalankan setelah loop keluar.

  • Jumlah maksimum dugaan salah: 8
  • Tebakan yang benar: 17
  • Total tebakan: 8 + 17 + 7 = 32

Nilai: (8 - 17) / 32 = -28,13%

gempa bumi
sumber
7
Gagal karena lekukan yang hilang dielse:
Alexander
16
Mencetak 11pada satu baris.
Bakuriu
6
Ini mencetak 10.
salin
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
8

Python: Rating: -27%

name = "Robin"
seek = "Seek and find holy grail"
favorite_color = "blue"

from os import *

print "What is your name: %s" % name
print "What is your quest: %s" % seek
print "What is your favorite color: %s" % favorite_color

Program mencetak:

What is your name: <value of os.name> 
What is your quest: Seek and find holy grail
What is your favorite color: blue

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%

Foon
sumber
11
Cetakan What is your name: [operating system name], What is your quest: Seek and find the holy grail, What is your favourite color: bluepada baris terpisah. Jelas [operating system name]diganti dengan nama sebenarnya.
Volatilitas
3
Menampilkan 3 baris terakhir dengan nilai name = "Robin", seek = "Seek and find holy grail"dan favorite_color = "red", oh, tidak. blue! (AAARRGGGHHH!)
SteeveDroz
5
Mencetak sesuatu seperti What is your name: <function os.name at 0x....>dll.
Bakuriu
Keluaran What is your name: Robin,, What is your quest: Seek and find holy graildan What is your favorite color: bluepada jalur terpisah.
Rory O'Kane
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
7

Python

import sys

class TwoPlusTwoIsFive(object):
  def __bool__(self):
    if 2 + 2 == 5:
      return True
    else:
      return False

two_plus_two_is_five = TwoPlusTwoIsFive()

if two_plus_two_is_five:
  print('{} is company'.format(sys.version[0]))
else:
  print('{} is a crowd'.format(sys.version[0]))

sunting:

skor (8-1) / 9 == 77,7%

output yang benar adalah '2 adalah perusahaan' di python 2, '3 adalah kerumunan' di python 3.

wim
sumber
7
2 is a crowd(dalam Python 2, 3 dalam Python 3).
ugoren
2 is company(dalam Python 2), atau 3 is a crowd(dalam Python 3).
WolframH
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
5
Mengubah nama metode khusus! :)
Bakuriu
7

JavaScript, -46,7%

var getResult = function(n, notReadyYet) {
    alert("Calculating results...");
    if (notReadyYet) {
        setTimeout(getResult, 100, n);
    } else {
        sayResult(n);
    }
    return arguments.callee;
}

var sayResult = function(n) {
    if (n >= 10) {
        alert("That's a big number!");
    }
    if (n < 10) {
        alert("That's a small number.");
    }
    return n;
}

(function() {
    var input = parseInt(prompt("Please enter a number:"));
    var result = getResult(input, true);
    return result;
})();

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:

Setelah meminta pengguna untuk memasukkan nomor, itu akan masuk ke loop tak terbatas dan menampilkan "Menghitung hasil ..." peringatan hingga ukuran tumpukan panggilan maksimum terlampaui (meskipun contoh jsfiddle akan berhenti setelah sekitar 20 kali). Namun, jika titik koma ditempatkan setelah kurung kurawal dari fungsi sayResult, itu akan berfungsi sebagai mgibsonbr yang dijelaskan dalam komentar.

Mencetak:

  • Jawaban yang bagus: 9
  • Pendapat keliru yang paling populer: 2
  • Total jawaban: 15
grc
sumber
Ia meminta nomor dengan pertanyaan Please enter a number:dan mengembalikan jawaban Anda diikuti oleh true.
SteeveDroz
8
mengunci ke loop tak terbatas dengan memunculkan "Menghitung hasil" tanpa
batas
Ini meminta angka, peringatan "Menghitung hasil" dua kali, lalu mengingatkan "Itu nomor _"
mgibsonbr
1
Output That's a big numbersetelah penundaan sama dengan jumlah yang Anda masukkan dalam ms.
Gieron
Bergantung pada browser dan / atau bagaimana DOM diatur (saya benar-benar baru di JS), ini mengeluarkan nama fungsi yang dipanggil pada pemuatan halaman.
Kevin
6

Javascript

var a = [];
a.push( "Hello" );
a.concat( [ ", ", "world", "!" ] );
alert( a.join("") )

Jawaban: Ini peringatanHello . The concatMetode 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%

Danko Durbić
sumber
25
AlertsHello, world!
SteeveDroz
14
Ini peringatanHello
Volatilitas
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
5

Python 33,3%

def Test():
    False = True
    True = False
    if False:
        return False
    elif True:
        return True
    else:
        return None

a = Test()
print a

Catatan: Asumsikan ini Python 2.x, dan bukan Python 3.


Saat dijalankan, kode ini menghasilkan UnboundLocalError: local variable 'True' referenced before assignment.

TerryA
sumber
1
Meningkatkan aSyntaxError
Volatilitas
Bukankah seharusnya begitu False, True = True, False?
Itu adalah apa adanya. (Bagaimanapun, saya pikir itu tidak membuat perbedaan dalam kasus ini)
TerryA
4
Ini mencetak True.
WolframH
1
Meningkatkan sebuah UnboundLocalError.
Bakuriu
5

Jawa

public class Puzzle {

    public static void main(String[] args) {
        String out = "Some ungodly gibberish";
        //char x = \u000a; out = out + " and then some more. ";
        System.out.println(out);
    }
}

Upaya pertama pada codegolf ...

jawaban yang bagus: Cetakan Some ungodly gibberish and then some more.dan baris baru

Peringkat:

  • Jumlah tebakan maksimum 6
  • Total jumlah tebakan 11
  • jumlah tebakan yang benar 5 (0 jika Anda dalam mode pedanitc)

Nilai: 9% (55% dalam mode pedantic)

Nicktar
sumber
5
CetakanSome ungodly gibberish and then some more.
cardboard_box
6
Mencetak Some ungodly gibberishdengan baris baru
MrZander
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
5

C # 62,5%

int sum=0;
List<Task> threads = new List<Task>();
for (int i=1; i<=10; i++) {
  Task adder = new Task( ()=> sum += i );
  threads.Add( adder );
  adder.Start();
}
foreach (var t in threads ) { 
  t.Wait();
}
Console.WriteLine("Sum of all numbers in 1..10 is: "+sum);

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.

  • Jawaban bagus: 0
  • Hanya jawaban yang kira-kira bagus: 5
  • Frekuensi jawaban paling populer dipilih: 5
  • Total jawaban: 8

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%

redtuna
sumber
4
Mencetak nomor tak tentu dari 55 hingga 100, inklusif.
Ry-
Itu hanya mencetak 100.
Kevin
1
Mencetak angka 'acak' antara 0 (inklusif) dan 110 (inklusif)
fjdumont
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
Saya senang bahwa sebagian besar orang melakukannya dengan benar - mungkin cukup benar sehingga mereka akan tahu untuk tidak membuat kesalahan dalam kode mereka!
redtuna
4

Python, -83,3%

Jawab: Mencetak a < bjika inputnya sama, a = bjika yang pertama lebih besar, dan a > byang kedua lebih besar.

a = input()
b = input()
print 'a', '<=>'[cmp(a, b)], 'b'
  • Tebakan bagus: 11
  • Dugaan buruk yang sama: 1
  • Total tebakan: 12

Penjelasan:

cmp(a, b)kembali 0jika kedua argumen sama, 1jika yang pertama lebih besar, dan -1jika yang pertama lebih kecil, itulah sebabnya mengapa simbol perbandingan yang salah dicetak.

Keriangan
sumber
7
Mencetak a = b jika a> ba <b adalah a == b, atau a> b jika a> b
Foon
mencetak a = buntuk input a == b, a < buntuk input a> b, dan a > buntuk input a <b
wim
2
Mencetak a = bjika a> b, a < bjika a == b, a > bjika a < b. (Ini mungkin apa yang dimaksud @Foon.)
flornquake
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
1
Saya pikir ini lebih baik daripada skor yang ditunjukkan. Jika saya tidak berada dalam Mode Pencarian Kesalahan, saya mungkin tidak menemukannya.
WolframH
4

PHP, 100%

Pertama kali memposting ke kode jurang, semoga ini tidak terlalu buruk.

function word_to_num($word) {
 switch ($word) {
  case "one":
   return 1;
  case "two":
   return 2;
  case "three":
   return 3;
  default:
   return "error";
 }
}
function print_word($num) {
 switch ($num) {
  case 1:
   print "hello";
   break;
  case 2:
   print "world";
   break;
  case "error":
  default:
   print " ";
  }
}

$words = array("one", 0, "two");
foreach ($words as $word) {
 $result = word_to_num($word);
 print_word($result);
}

output yang benar adalah 'hellohelloworld'

skor adalah (10 - 0) / 10 = 1 = 100%

Gema
sumber
9
Cetakan hello world.
flornquake
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
Oh haha. Darn PHP.
Ry-
'one' == 0=> true. Cukup pintar.
Primo
4

Perl: 100% (4-0) / 4

print (1 + 2) * 3, "\n"; 
#

Program ini mencetak "3" tanpa baris baru. Perl mem-parsing instruksi ini sebagai

((print (1+2)) * 3, "\n")

jadi hanya (1+2)diteruskan sebagai argumen untuk print.

massa
sumber
3
Cetakan 9diikuti oleh baris baru
3Doubloons
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
3

C #

static void Main(string[] args)
{
     Console.WriteLine('H' + 'e' + 'l' + 'l' + 'o');
     Console.ReadLine();
}
Renyah
sumber
3
Mencetak jumlah nilai ASCII dari setiap huruf (500)
3Doubloons
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
Agar adil, pertama kali saya melihatnya saya pikir itu akan mencetak "Halo", tetapi kemudian melakukan pengambilan ganda.
redtuna
3

CPython

if 'Hello' + 'World' is 'HelloWorld':
  print 'Hello'
if 'Hello' + 'World!' is 'HelloWorld!':
  print 'World!'

output yang benar adalah 'Hello'

skor (14-3) / 19 == 57,9%

wim
sumber
13
Tidak mencetak apa pun.
TerryA
1
Cetakan Hello\nWorld!.
Bakuriu
2
Cetakan Hello. (Ketergantungan implementasi.)
WolframH
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
3

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 dan scanfbaris dikomentari. Karena itu program berjalan selamanya, mencetak Guess a number between 1 and 10:. Komentar adalah kutipan dari Mozart (via fortune).

// Why not?/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// What?/
int main(int argc, char** argv)
{
    // Why not?/
    int number;

    // Why should I not send it?/
    srand(time(NULL));

    while(1)
    {
        // Why should I not dispatch it?/
        printf("Guess a number between 1 and 10: ");

        // Why not??/
        scanf("%d", &number);

        // Strange! I don't know why I shouldn't/
        if(number == rand() % 10 + 1)
        {
            // Well, then/
            printf("You guessed right!\n");
            // You will do me this favor./
            exit(0);
        }
    }
}

Spoiler, cara mengompilasi dan menjalankan:

gcc test.c -trigraphs

salinan
sumber
5
Komentar hanyalah gangguan. Programnya adalah "Tebak angka acak dari 1 hingga 10".
luser droog
6
"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 masukan
pascalhein
2
Sesuatu yang jahat disembunyikan di komentar karena terlihat seperti C ++.
Alexander
1
Akhirnya, cetak "Anda menebak dengan benar!", Dan baris baru, lalu berakhir.
Kaz Dragon
4
Komentar jahat ada hubungannya dengan trigraph.
shiona
3

Jawa

public class Test {
    public static void main(String[] args) {
        String fmt = "%s - %04d\n";
        System.out.println(fmt.format("Padded value: ", 0x0c));
    }
}

Jawabannya

Mencetak Padded value:(dengan baris baru).

formatMetode String adalah static, dengan format yang dikirimkan sebagai parameter pertama. Yaitu panggilan di atas setara dengan:

        System.out.println(String.format("Padded value: ", 0x0c));

Jumlah jawaban yang baik: 2 Jawaban salah: 9

Nilai : (9-2) / 11 = 63%

Paul Cager
sumber
8
Ini mencetakPadded value: - 0012\n
salin
1
Ini mencetak "Nilai empuk:` diikuti oleh karakter baris baru.
Alvin Wong
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
3

C

#include <stdio.h>
#define SIX  1+5
#define NINE 8+1

int main()
{
    printf("%d\n", SIX * NINE);
}

Nilai = (3-16) / 19 == -68,4%

Jangan lupakan handukmu.

Kaz Dragon
sumber
15
Ini mencetak 42 + baris baru
Paul Cager
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
Saya baru saja memperhatikan puzzle Anda. Saya akan salah xP. Saya seorang programmer Java / C #, jadi itu alasan saya ...
Kevin
3

C ++

#include <cstdio>

int main()
{
    int f;

    f or (f = 0, f < 1000, ++f,
        printf("H ello world !\n"));

    return 0;
}

Nilai = (1 - 6) / 7 = -0.71428571428571 = -71.428571428571%

Paul R
sumber
5
Itu tidak apa-apa.
SteeveDroz
Tidak dikompilasi.
f.ardelian
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
2

JavaScript

var x = 0;
var y = !x * 4;
var z = !y;
alert("Z = "+z);
Tushar Koul
sumber
13
Itu peringatan Z = false.
SteeveDroz
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
2

Python

def greeting():
  try:
    return 'Hello World'
  finally:
    return 'HELL0 W0RLD'

print greeting().lower()

output yang benar adalah 'hell0 w0rld'

skor (8-14) / 22 == -27,3%

wim
sumber
7
Cetakan: hello world
TerryA
14
Cetakanhell0 w0rld
SteeveDroz
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
2

R: 100%

Bukan yang imajinatif tetapi mungkin membingungkan beberapa orang:

sum(data.frame(rep(1,10),stringAsFactors=TRUE))

Menurut Anda apa hasilnya?

Edit :

Jawabannya adalah 20. Karena hilang sdi stringAsFactors(bukan stringsAsFactors), argumen tersebut tidak diakui sehingga fungsi membuat kolom baru yang disebut stringAsFactors. Karena daur ulang vektor, kolom berisi 10 kali TRUEyang dikonversi menjadi 1s dalam jumlah, sehingga total 20 dan bukan 10.

Jawaban ini tidak diberikan dalam komentar. 3 jawaban diberikan (semua mengatakan 10lebih atau kurang). Oleh karena itu skor 100%, saya kira.

plannapus
sumber
Mengembalikan nilai 10.
SteeveDroz
1
Saya awalnya berpikir itu akan kembali 10. Sneaky ... meninggalkan yang "s" benar-benar mengubah segalanya ...
Dason
1
@ Alasan Saya sekarang menyadari bahwa menekan yang kedua akan lebih licik: orang akan menganggap pencocokan sebagian akan mengoreksi, tetapi ternyata tidak.
plannapus
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang baik , jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz
100%! Selamat!
redtuna
2

Tcl

Terinspirasi oleh ugoren

foreach c [split [lindex $argv 0] {}] {
    # Don't print the invalid chars & and \
    if {$c in "& \\"} {continue}
    puts -nonewline $c
}

Maaf, lupa contoh string. Ok, jalankan sebagai

./charfilter.tcl 'Halo & selamat tinggal, dunia!'

Sunting Solusi yang tepat: Tidak menyaring sama sekali. ( 6x )
Max salah jawab: 4x
Total jawaban: 10
Nilai: -0.2

Johannes Kuhn
sumber
5
Itu hanya mencetak argumennya dan tidak benar-benar menyaring.
marinus
3
mencetak argumen tanpa " ", "&", "\".
pascalhein
Ini adalah akhir dari permainan , silakan nilai diri Anda sendiri dengan komentar yang ada di atas ini. Edit konten Anda dan tambahkan jawaban yang bagus , yaitu jumlah jawaban yang baik, jumlah orang yang sebagian besar menjawab hal yang sama, jumlah total jawaban dan skor Anda . Jangan lupa bahwa 2 di sebelah komentar berarti 3 jawaban. Beri komentar dengan bebas di bawah ini.
SteeveDroz