-ENDED- Làm một cái gì đó trông giống như một cái gì đó khác [đóng]


78

Viết một đoạn trích, một chức năng, một chương trình, ... bị che khuất theo cách mà nó trông rõ ràng ngay từ cái nhìn đầu tiên rằng nó làm một cái gì đó khác.

Ví dụ: viết một chút mã có thêm hai số, nhưng khi bạn hỏi ai đó "nó làm gì?", Anh ta sẽ nói với bạn rằng nó in "Xin chào, Thế giới!".

Quy tắc

  • Mã phải có thể đọc được đối với người biết đại khái ngôn ngữ bạn sử dụng (tránh ngôn ngữ bị xáo trộn nội tại như APL, vì lợi ích của riêng bạn).
  • Mã phải làm một cái gì đó bất ngờ mà người đọc ban đầu không thể dự đoán.
  • Khi bạn hỏi những người đọc khác nhau, họ phải có cùng quan điểm (sai) về những gì mã làm.

Xêp hạng

  • Vui lòng đọc mã của các thí sinh khác trong tối đa 10-20 giây, để có ý tưởng hay về những gì xảy ra ở đó.
  • Thêm một bình luận cho câu trả lời cho biết những gì bạn nghĩ rằng mã làm. Nếu câu trả lời bạn muốn đưa ra đã có sẵn, chỉ cần +1 bình luận. (nếu bạn bỏ lỡ câu trả lời đó và thêm một nhận xét khác, đừng lo lắng, nó sẽ không được tính là một câu trả lời khác).
  • Các điểm sẽ được đánh thức theo cách này: ( maxFalseOpinion- goodGuess) / totalOpinion(xem ví dụ bên dưới).
  • Đánh giá các thí sinh khác bằng fairplay và không bình luận mã của riêng bạn.
  • Chỉ thêm ý kiến ​​hữu ích. Tránh "Tôi không biết" và "người tốt!", Họ không được tính đến xếp hạng, nhưng đó là mã và không phải là xếp hạng phải bị xáo trộn.

Ví dụ đánh giá

Đoạn trích thêm hai số. Các ý kiến ​​nói:

(3) Nó hiển thị "Xin chào, Thế giới!"
(1) Nó có 2 số.
(2) Nó thêm 2 số.

Tổng số điểm là số ý kiến ​​tối đa (3) - số lần đoán tốt (2) chia cho tổng số lần đoán (3 + 1 + 2 = 6). Kết quả: (3 - 2) / 6 = 1/6 = 16,67% .


THÊM VỀ ĐIỂM

Mọi người dường như có một số khó khăn để tìm ra các điểm.

Đây là một điểm hoàn hảo:

printf('Hello World');

bình luận:
Nó hiển thị số thời gian bạn đã nhấp vào một nút. (17 bình luận).
TỔNG: 17 bình luận

Điểm: (17 - 0) / 17 = 1 = 100%

Đây là một điểm khập khiễng:

printf('Hello World');

bình luận:
Nó in "Hello World". (13 bình luận).
TỔNG: 13 bình luận

Điểm: (0 - 13) / 13 = -1 = -100%

Đây là một điểm không quá tệ:

printf('Hello World');

Bình luận:
Nó in tên người dùng. (2 bình luận).
Nó hiển thị thời gian hiện tại (15 bình luận).
Nó trả về những gì bạn đã nhập mà không sửa đổi. (3 bình luận).
Nó in "Hello World" (1 bình luận).
TỔNG: 21 bình luận

Điểm: (15 - 1) / 21 = 0,6667 = 66,67%
Giải thích:
15 là phỏng đoán chính, điều mọi người nói nhiều nhất. 1 là số lần đoán đúng. 21 là tổng của tất cả các ý kiến.


5
Ý tưởng có thể cho thí sinh (đặc biệt là những văn bản C) có thể được tìm thấy tại underhanded.xcott.com
shiona

3
Tôi có cảm giác mọi người sẽ miễn cưỡng bình luận nếu họ không nhìn thấy mánh khóe (vì rõ ràng họ đã kết thúc sai). Điều này sẽ sửa đổi mạnh mẽ kết quả.
ugoren

2
@Haidro, tôi muốn nói rằng nếu bạn biết ngôn ngữ chỉ một chút và dường như hiểu chương trình làm gì thì hãy bình luận. Nếu bạn không thể hiểu ý nghĩa của nó (ví dụ: tôi không thể hiểu câu trả lời của slackwear ), thì không.
ugoren

2
Khi nào thử thách kết thúc?
WolframH

4
Tôi nghĩ bạn nên yêu cầu số lần đoán tối thiểu cho một người chiến thắng - Tôi sẽ nói 10. 1 câu trả lời sai trong số 1 không phải là rất ấn tượng, nhưng nó là 100%.
ugoren

Câu trả lời:


79

Javascript

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

Trả lời: Nó xuất ra 1. Các ý kiến ​​dưới đây giải thích điều này khá tốt - có hai biến khác nhau ở đây, a - 'LATIN SMALL LETTER A'а - 'CYRILLIC SMALL LETTER A' .

1 câu trả lời đúng, 50 người cho rằng nó cho ra 2 và với tổng số 52 câu trả lời, điểm số là (50 - 1) / 52 = 49/52 = 94,23%


57
Đầu ra 2hoặc ít nhất đó là những gì tôi hy vọng :)
Alexander

8
Đây là đoạn mã JS lén lút nhất mà tôi từng thấy. Chơi tốt
Peter Majeed

1
Đối với những người không nhận được nó (spoilers phía trước): link
BlueRaja - Danny Pflughoeft

3
@soandos: (LẠI, SPOILERS): Biến được sử dụng trong dòng thứ nhất và thứ ba khác với biến ở dòng thứ hai và thứ tư. Một cái sử dụng một (U + 0061) trong khi cái còn lại sử dụng а (U + 0430). Xem thêm .
BlueRaja - Daniel Pflughoeft

5
Một người bạn của tôi nghĩ rằng đây là khá hài hước và được lấy cảm hứng để viết những dòng này github.com/johnhaggkvist/WATifyJS - Ông có quá ít đại diện cho bình luận vì vậy tôi làm việc đó cho anh ta ^ _ ^
Henrik Andersson

32

C, Điểm 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;
}

Chạy ./prog 'Hello & goodbye, world!'

Ghi bàn

Câu trả lời đúng là H\n(phần whilenày là một phần của bình luận, nhờ dòng kết thúc bằng \, vì vậy không có vòng lặp), được đưa ra bởi 6 người.
Lỗi phổ biến nhất là Hello goodbye, world\n, được đưa ra bởi 25 người.
(25 - 6) / 57 = 33,3%.
Cảm ơn Olivier Dulac đã bận tâm tính toán.


24
In "Xin chào tạm biệt, thế giới! \ N" ...
Vi.

5
Đó là một vòng lặp vô tận.

5
Chỉ in ký tự đầu tiên trong arg và một dòng mới. Thế là nó in H\n.
bến

7
In: Hello goodbye, world!(không \ n) (2 khoảng trắng sau Hello)
Olivier Dulac

6
tạo ra một SEGFAULT.
pascalhein

27

Con trăn

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

Xêp hạng

  1. Câu trả lời hay: In 0 1 4 9 16 25 36 49 64 64, mỗi số trên một dòng.

  2. Giải thích: Mặc dù không ai nhận được câu trả lời đúng, tôi coi đây là một nỗ lực thất bại, bởi vì không ai mắc lỗi mà tôi dự định. (Tôi sẽ thêm một lời giải thích thực sự sau nếu không có ai khác làm.)

  3. Số câu trả lời hay: 0

  4. Số người có cùng câu trả lời sai: 7

  5. Tổng số câu trả lời: 11

  6. Điểm: 63,64% (làm tròn đến hai số thập phân)

Giải trình

Đầu tiên, một danh sách ađược tạo và chứa đầy các giá trị i * ++i. Không có ++toán tử nào trong Python, nhưng có một toán tử đơn nguyên +, không làm gì cho số nguyên và áp dụng nó hai lần vẫn không làm được gì. Vì vậy, achứa các hình vuông của các số nguyên từ 0đến 9.

Tôi đã đặt sự ++phiền nhiễu và hy vọng rằng hầu hết cử tri sẽ tiếp tục, nghĩ rằng họ đã tìm thấy cái bẫy và rơi vào cái bẫy thực sự. Nó không thành công. Một số người cho rằng đó ++là lỗi cú pháp và những người khác vẫn tìm kiếm bẫy.

Cái bẫy Cái bẫy nằm trong vòng lặp thứ hai:

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

Tôi chắc chắn rằng hầu hết mọi người sẽ nghĩ rằng điều này in ra tất cả a[i], tức là 0 1 4 9 16 25 36 49 64 81, mỗi số trên một dòng. Đó là những gì bạn nhận được với variaton này, ví dụ:

for x in a: 
    print(x)

xđược gán các giá trị trong a, và sau đó xđược in. Trong phiên bản đầu tiên, a[i]được gán các giá trị trong a, và sau đó a[i]được in. Sự khác biệt là, trong trường hợp của chúng ta, chúng ta có i == 9, và do đó giá trị của a[9]được thay đổi mỗi lần qua vòng lặp. Khi cuối cùng a[9]được in, nó có giá trị a[8]và do đó 64được in lại.


3
Lỗi cú pháp (không có ++trong Python).
ugoren

5
SyntaxErrorvào ngày thứ hai for.
Bakuriu

In 81mười lần
Michael0x2a

SyntaxErrorvào ngày thứ hai for. Thật đáng kinh ngạc. Điều này thực sự nên giành chiến thắng. Tôi mất 5 phút để hiểu chuyện gì đang xảy ra lol!
rubik

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

26

JavaScript , Điểm -100%

Tôi đã không phát minh ra điều này, Gary Bernhardt đã làm nhưng nó là một trong những sở thích của tôi

alert(Array(16).join("wat?" - 1)+", BATMAN!")

37
Đầu ra NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN, BATMAN! :)
tiền mã hóa

1
Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

Có vẻ như video đó khá nổi tiếng ...
Bakuriu

3
Đây có phải -100%không? ...
Alvin Wong

Tất nhiên. Người dơi cho nó đi.
mplungjan

14

Con trăn, -54,8%

Trả lời: Tăng 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';
}
  • Dự đoán tốt: 24
  • Dự đoán xấu tương tự: 7
  • Tổng số lần đoán: 31

Giải trình:

from __future__ import braceslà một trong những quả trứng Phục sinh trong Python. Nó có ý nghĩa như một trò đùa, nói rằng Python sẽ không bao giờ sử dụng niềng răng cho phạm vi trong tương lai.


6
Kiểm tra nếu kết quả của biểu thức do người dùng cung cấp được ký.
Felix Dombek

1
Tôi nghi ngờ có khá nhiều lỗi. Các lập trình viên Python rất bướng bỉnh;)
grc

12
Đây là một lỗi cú pháp!
Dhara

11
SyntaxError: not a chance
Bakuriu

2
@BoppreH Vui lòng giới hạn bản thân trong việc nêu rõ kết quả mà không có bất kỳ loại giải thích rõ ràng nào hoặc nêu lên nhận xét đã nêu kết quả mà bạn cho là đúng. Các loại bình luận khác chỉ làm hỏng niềm vui cho độc giả theo dõi.
Bakuriu

14

Perl, 26,67%

Các kết quả:

Điều này in "Tôi không thích nói gì cả."

my $num1,$num2 = @_;thiếu dấu ngoặc đơn. Do đó, nó tương đương với my $num1; $num2 = @_;. $num1không được đặt thành bất cứ điều gì.

Như vậy $num1không bao giờ lớn hơn không. Một chút về thế giới cá bí mật ẩn khỏi màn hình là, cá mập đỏ, để mọi người nghĩ rằng họ đã tìm thấy "mánh khóe".

Hơn nữa, toán tử ternary là một giá trị l trong Perl: 1 ? $a = 1 : $b = 2thực sự có nghĩa là (1 ? $a = 1 : $b) = 2. Có nghĩa ($a = 1) = 2là được đánh giá, thiết lập $ađể 2. Trái với vẻ ngoài, Chuỗi thứ hai được gán cho $num1.

Trong trường hợp bạn đang tự hỏi, //là toán tử được xác định-hoặc. Nếu phụ trả về một giá trị không xác định, chuỗi "Stuff did not happen."sẽ được in. Nhưng nó không thực sự xảy ra. Nó chỉ là để cung cấp cho mọi người một lựa chọn khác.

Ghi điểm:

Tổng số đúng: 5

Tổng số lần đoán: 30

Điểm: (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.";

2
Nó xuất ra, tôi không muốn nói gì cả.
bến

10
Nó in This is a secret fish world. Carp cannot be repressed!.
ugoren

13
Không phải là một guru perl này nên in Hello, world!.
Alexander

2
Vâng, đó là các bạn. Tôi không bao giờ giao dịch với Perl nữa.
Ông Llama

3
@ContextSwitch và @aidan, toán tử ternary là giá trị l trong Perl. 1 ? $a = 1 : $b = 2thực sự có nghĩa là (1 ? $a = 1 : $b) = 2. Có nghĩa ($a = 1) = 2là được đánh giá, đặt $athành 2. Ngoài ra, như Primo đã chỉ ra, my $num1, $num2 = @_;không làm những gì bạn mong đợi vì dấu ngoặc đơn bị thiếu.

14

PHP 52%

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

(Sao chép nguyên văn từ đây )

Giải thích & Điểm

Câu trả lời đúng là ngựa . Đây không phải là một mẹo hay ánh sáng của bàn tay. Kỳ lạ thay, đây là cách toán tử ternary được định nghĩa trong PHP.
3 đã chọn câu trả lời đúng: ngựa ,
16 người đã chọn xe lửa đúng theo mọi nghĩa ngôn ngữ khác từng được phát minh, ngoại trừ PHP. Tổng cộng
25 câu trả lời, cho số điểm (16 - 3) / 25 = 52%


5
chân
wim

15
in train.
SteeveDroz

3
in 'ngựa'.
Jonathan


1
Và đó ... là lý do tại sao bạn hầu như luôn luôn sử dụng dấu ngoặc đơn để biểu thị thứ tự các thao tác, ngay cả khi bạn nghĩ rằng bạn không cần chúng.
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();
}

Giải pháp

Điểm của mã này là lừa người dùng nghĩ rằng một ký tự dòng mới sẽ được in giữa văn bản "Xin chào" và "Thế giới". Lưu ý rằng tham số đầu tiên đến chính được đặt tên là cout. Vì trong phạm vi chính, cout là một số nguyên, toán tử << thực sự thực hiện thao tác dịch chuyển trái với tham số '\ n', thay vì in một dòng mới. Chức năng in chủ yếu là để thu hút sự chú ý khỏi các tham số đầu vào trong chính, nhưng cũng cho phép sử dụng std :: cout mà không cần thêm tiền tố không gian tên.

Ghi bàn

Phép lịch sự của Alvin Wong

  • Tổng cộng có 38 câu trả lời:
  • 12 suy nghĩ HelloWorld(xem xét của minitech và zeel là như nhau)
  • 23 nghĩ Hello\nworld 3 nghĩ gì khác.
  • Điểm là (23 - 12) / 38 = 28,9%

23
In "Xin chào" trong một dòng và "Thế giới" ở dòng tiếp theo.
redtuna

2
In "HelloWorld". Đặt 1024 trong coutnếu được gọi mà không có tham số.
Alexander

9
In HelloWorld.
Ry-

1
In HelloWorld. Và thực hiện một chút dịch chuyển trái khôn ngoan trên số nguyên "cout".
zeel

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

10

Hồng ngọc, 100%

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

Câu trả lời chính xác:

In "chính" không có dòng mới. Giải thích: Trong Ruby, bạn không thể gọi lambda bằng cú pháp dấu ngoặc đơn thông thường. Thay vào đó, display () được hiểu là phương thức tích hợp mà tất cả các đối tượng có: o.display in o.to_s sang đầu ra tiêu chuẩn. Các phương thức được gọi mà không có đối tượng được hiểu là phương thức của "chính", một Đối tượng bao gồm mô-đun Kernel.

Điểm: 3 câu trả lời sai tương tự, không có câu trả lời khác.


3
In "Xin chào, thế giới!"
3Doubloons

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

8

Con trăn, -28,13%

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

print x

Điều này in 11elsekhối, thuộc về while, được thực thi sau khi thoát khỏi vòng lặp.

  • Số lần đoán sai tối đa: 8
  • Đoán đúng: 17
  • Tổng số lần đoán: 8 + 17 + 7 = 32

Điểm: (8 - 17) / 32 = -28,13%


7
Thất bại vì bị thụt vào trongelse:
Alexander

16
In 11trên một dòng.
Bakuriu

6
Bản in này 10.
sao chép

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

8

Python: Đánh giá: -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

Chương trình in:

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

Xếp hạng: Tổng số ý kiến: 22 12 đúng 3 + 1 + 6 sai [đối với câu trả lời của Bakuiru, tôi sẽ nói rằng nó gần nhưng vẫn không chính xác vì os.name là một chuỗi (os.uname là một hàm)]

Xếp hạng dựa trên giả định đó và sự hiểu biết của tôi về hệ thống xếp hạng: Sai tối đa = 6 Đúng = 12 Điểm = (6-12) / 22 = -27%


11
In What is your name: [operating system name], What is your quest: Seek and find the holy grail, What is your favourite color: bluetrên dòng riêng biệt. Rõ ràng [operating system name]là được thay thế bằng tên thực tế.
Biến động

3
Hiển thị 3 dòng cuối cùng với các giá trị name = "Robin", seek = "Seek and find holy grail"favorite_color = "red", oh, không. blue! (AAARRGGGHHH!)
SteeveDroz

5
In một cái gì đó như What is your name: <function os.name at 0x....>vv
Bakuriu

Đầu ra What is your name: Robin, What is your quest: Seek and find holy grailWhat is your favorite color: bluetrên các dòng riêng biệt.
Rory O'Kane

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

7

Con trăn

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]))

biên tập:

điểm số (8-1) / 9 == 77,7%

đầu ra đúng là '2 là công ty' trên python 2, '3 là đám đông' trên python 3.


7
2 is a crowd(trong Python 2, 3 trong Python 3).
ugoren

2 is company(trong Python 2) hoặc 3 is a crowd(trong Python 3).
WolframH

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

5
Đổi tên phương pháp đặc biệt chết tiệt! :)
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;
})();

Bạn có thể chạy nó ở đây khi bạn sẵn sàng (đoán trước!). Nếu bạn cuộn xuống đủ xa trong bảng điều khiển JS, bạn sẽ thấy mã với một lời giải thích ngắn gọn.

Câu trả lời chính xác:

Sau khi yêu cầu người dùng nhập số, nó sẽ nhập vào một vòng lặp vô hạn và hiển thị cảnh báo "Tính kết quả ..." cho đến khi vượt quá kích thước ngăn xếp cuộc gọi tối đa (mặc dù ví dụ jsfiddle sẽ dừng sau khoảng 20 lần). Tuy nhiên, nếu một dấu chấm phẩy được đặt sau dấu ngoặc đóng của hàm sayResult, nó sẽ hoạt động như mgibsonbr được mô tả trong các bình luận.

Ghi điểm:

  • Câu trả lời hay: 9
  • Ý kiến ​​sai phổ biến nhất: 2
  • Tổng số câu trả lời: 15

Nó yêu cầu một số với câu hỏi Please enter a number:và trả về bạn trả lời theo sau true.
SteeveDroz

8
nó khóa vào một vòng lặp vô hạn bằng cách bật lên quảng cáo "Tính toán kết quả"
SeanC

Nó nhắc một số, thông báo "Tính kết quả" hai lần, sau đó thông báo "Đó là số _"
mgibsonbr

1
Nó xuất ra That's a big numbersau một độ trễ bằng với số bạn nhập vào ms.
Gieron

Tùy thuộc vào trình duyệt và / hoặc cách DOM được thiết lập (tôi thực sự mới đối với JS), nó xuất ra tên của hàm được gọi khi tải trang.
Kevin

6

Javascript

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

Trả lời: Nó cảnh báoHello . Các concatphương pháp không thay đổi mảng - nó trả về một mảng chứa các nối của mảng nó được gọi là trên và bất kỳ đối số cung cấp khác.

15 đúng, 26 sai, tổng cộng 41 câu trả lời và điểm là (26-15) / 41 = 11/41 = 26,83%


25
Cảnh báoHello, world!
SteeveDroz

14
Nó thông báoHello
Biến động

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
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

Lưu ý: Giả sử đây là Python 2.x chứ không phải Python 3.


Khi chạy, mã này tạo ra một UnboundLocalError: local variable 'True' referenced before assignment.


1
Tăng aSyntaxError
Biến động

Có nên như False, True = True, Falsevậy không?

Đó là những gì nó được. (dù bằng cách nào, tôi nghĩ rằng điều đó không tạo ra sự khác biệt trong trường hợp này)
TerryA

4
Bản in này True.
WolframH

1
Tăng một UnboundLocalError.
Bakuriu

5

Java

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);
    }
}

Nỗ lực đầu tiên tại codegolf ...

câu trả lời hay: Bản in Some ungodly gibberish and then some more.và một dòng mới

Xêp hạng:

  • Số lần đoán tối đa 6
  • Tổng số lần đoán 11
  • số lần đoán đúng 5 (0 nếu bạn đang ở chế độ pedanitc)

Điểm: 9% (55% ở chế độ pedantic)


5
Bản inSome ungodly gibberish and then some more.
tông_box

6
In Some ungodly gibberishvới một dòng mới
MrZander

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
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);

Đây là mã golf đầu tiên của tôi.

Câu trả lời đúng là: "một cái gì đó trong khoảng từ 55 đến 110". Đó là bởi vì bất cứ khi nào câu lệnh "sum + = i" thực thi, nó sẽ sử dụng giá trị hiện tại của i. Mã này thậm chí có thể thực thi sau khi vòng lặp for được thực hiện , tại điểm i có giá trị 11. Điều này làm cho giá trị cao nhất có thể 110 (và bạn có thể chắc chắn sẽ thấy nó nếu bạn làm chậm lambda trong thử nghiệm của mình). Giá trị nhỏ nhất có thể là tổng (1..10), là 55.

  • Câu trả lời hay: 0
  • Chỉ có câu trả lời xấp xỉ tốt: 5
  • Số lần câu trả lời phổ biến nhất đã được chọn: 5
  • Tổng số câu trả lời: 8

điểm số: nói đúng ra, không ai hiểu đúng nên điểm số phải là (5-0) / 8 = 62,5%. Nếu chúng tôi sẵn sàng coi "xấp xỉ tốt" là một câu trả lời đúng, thì điểm số là (5-5) / 8 = 0%


4
In một số không xác định từ 55 đến 100, bao gồm.
Ry-

Nó chỉ in 100.
Kevin

1
In số 'ngẫu nhiên' trong khoảng từ 0 (đã bao gồm) đến 110 (đã bao gồm)
fjdumont

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

Tôi rất vui vì hầu hết mọi người đều hiểu đúng - có lẽ đúng đến mức họ sẽ biết không phạm sai lầm đó trong mã của họ!
redtuna

4

Con trăn, -83,3%

Trả lời: In a < bnếu đầu vào bằng nhau, a = bnếu đầu tiên lớn hơn và a > bnếu đầu vào lớn hơn.

a = input()
b = input()
print 'a', '<=>'[cmp(a, b)], 'b'
  • Dự đoán tốt: 11
  • Dự đoán xấu tương tự: 1
  • Tổng số lần đoán: 12

Giải trình:

cmp(a, b)trả về 0nếu cả hai đối số bằng nhau, 1nếu đầu tiên lớn hơn và -1nếu đầu tiên nhỏ hơn, đó là lý do tại sao biểu tượng so sánh sai được in.


7
In a = b nếu a> ba <b là a == b hoặc a> b nếu a> b
Foon

in a = bcho đầu vào a == b, a < bcho đầu vào a> b và a > bcho đầu vào a <b
wim

2
In a = bnếu a> b, a < bnếu a == b, a > bnếu a < b. (Đây có lẽ là ý nghĩa của @Foon.)
flornquake

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

1
Tôi nghĩ rằng điều này là tốt hơn so với các chương trình điểm số. Nếu tôi chưa được tìm thấy trong Chế độ tìm lỗi, tôi có thể đã không tìm thấy nó.
WolframH

4

PHP, 100%

Lần đầu tiên đăng lên vùng vịnh mã, hy vọng điều này không tệ.

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);
}

đầu ra chính xác là 'hellohellowworld'

điểm số là (10 - 0) / 10 = 1 = 100%


9
In hello world.
flornquake

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

Oh haha. PHP chết tiệt.
Ry-

'one' == 0=> true. Khá thông minh.
primo

4

Perl: 100% (4-0) / 4

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

Chương trình này in "3" mà không có dòng mới. Perl phân tích cú pháp hướng dẫn này như

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

vì vậy chỉ có (1+2)được thông qua như là một đối số để print.


3
Các bản in được 9theo sau bởi một dòng mới
3Doubloons

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

3

C #

static void Main(string[] args)
{
     Console.WriteLine('H' + 'e' + 'l' + 'l' + 'o');
     Console.ReadLine();
}

3
In tổng các giá trị ASCII của mỗi chữ cái (500)
3Doubloons

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

Công bằng mà nói, lần đầu tiên tôi nhìn thấy nó tôi đã nghĩ rằng nó sẽ in "Xin chào", nhưng sau đó đã thực hiện gấp đôi.
redtuna

3

CPython

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

đầu ra đúng là 'Xin chào'

điểm số (14-3) / 19 == 57,9%


13
Không in gì cả.
TerryA

1
In Hello\nWorld!.
Bakuriu

2
In Hello. (Phụ thuộc thực hiện.)
WolframH

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

3

C (Điểm: 4,45%)

Dự đoán tốt: 7
Tối đa dự đoán sai: 6 + 2 = 8
Tổng số lần đoán: 6 + 7 + 3 + 2 + 4 = 22

Giải pháp: ??/ là một bộ ba cho \, vì vậy dòng mới được thoát và scanfdòng được nhận xét. Do đó chương trình chạy mãi, inGuess a number between 1 and 10: . Các ý kiến ​​là một trích dẫn từ Mozart (thông qua 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, cách biên dịch và chạy:

gcc test.c -trác liệu


5
Bình luận chỉ là phiền nhiễu. Chương trình là "Đoán số ngẫu nhiên từ 1 đến 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)không yêu cầu đầu vào
pascalhein

2
Một cái gì đó xấu xa được ẩn giấu trong các ý kiến ​​khi chúng trông giống như C ++.
Alexander

1
Cuối cùng, in "Bạn đoán đúng!", Và một dòng mới, và sau đó kết thúc.
Kaz Dragon

4
Các bình luận ác có một cái gì đó để làm với các bức thư.
shiona

3

Java

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

Câu trả lời

Nó in Padded value:(với một dòng mới).

formatPhương thức của chuỗi là static, với định dạng được truyền làm tham số đầu tiên. Tức là cuộc gọi ở trên tương đương với:

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

Số câu trả lời hay: 2 Câu trả lời sai: 9

Điểm : (9-2) / 11 = 63%


8
Bản in nàyPadded value: - 0012\n
sao chép

1
Điều này in "Giá trị đệm:` theo sau là một ký tự dòng mới.
Alvin Wong

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

3

C

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

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

Điểm = (3-16) / 19 == -68,4%

Đừng quên khăn của bạn.


15
Nó in 42 + một dòng mới
Paul Cager

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

Tôi chỉ nhận thấy câu đố của bạn. Tôi đã hiểu sai xP Tôi là một lập trình viên Java / C #, vì vậy đó là lý do của tôi ...
Kevin

3

C ++

#include <cstdio>

int main()
{
    int f;

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

    return 0;
}

Điểm = (1 - 6) / 7 = -0,71428571428571 = -71.428571428571%


5
Điều đó không có gì.
SteeveDroz

Không biên dịch.
f.ardelian

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

2

JavaScript

var x = 0;
var y = !x * 4;
var z = !y;
alert("Z = "+z);

13
Nó cảnh báo Z = false.
SteeveDroz

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

2

Con trăn

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

print greeting().lower()

đầu ra đúng là 'hell0 w0rld'

điểm số (8-14) / 22 == -27,3%


7
Bản in: xin chào thế giới
TerryA

14
Bản inhell0 w0rld
SteeveDroz

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

2

R: 100%

Không phải là tưởng tượng nhưng có thể đánh đố một số người:

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

Bạn nghĩ gì về kết quả?

Chỉnh sửa :

Câu trả lời là 20. Vì một thiếu strong stringAsFactors(thay vì stringsAsFactors), lập luận không được công nhận vì vậy các chức năng tạo một cột mới có tên gọi stringAsFactors. Do tái chế véc tơ, cột chứa 10 lần TRUEđược chuyển đổi thành 1s trong tổng, do đó tổng cộng là 20 chứ không phải 10.

Câu trả lời này đã không được đưa ra trong các ý kiến. 3 câu trả lời đã được đưa ra (tất cả nói 10ít nhiều). Do đó, điểm 100%, tôi đoán vậy.


Trả về giá trị 10.
SteeveDroz

1
Ban đầu tôi nghĩ nó sẽ quay trở lại 10. Lén lút ... bỏ đi cái "s" đó thực sự thay đổi mọi thứ ...
Dason

1
@Dason Bây giờ tôi nhận ra rằng việc đàn áp cái thứ hai thậm chí còn lén lút hơn: người ta sẽ cho rằng khớp một phần sẽ đúng với nó nhưng hóa ra là không.
plannapus

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz

100%! Chúc mừng!
redtuna

2

Tcl

Lấy cảm hứng từ ugoren

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

Xin lỗi, quên một chuỗi ví dụ. Ok, chạy như

./charfilter.tcl 'Xin chào & tạm biệt, thế giới!'

Chỉnh sửa giải pháp đúng: Nó hoàn toàn không lọc. ( 6x )
Câu trả lời sai tối đa: 4x
Tổng số câu trả lời: 10
Điểm: -0.2


5
Nó chỉ in đối số của nó và không thực sự lọc.
bến

3
nó in đối số của nó không " ", "&", "\".
pascalhein

Đây là kết thúc của trò chơi , xin vui lòng đánh giá bản thân với các ý kiến ​​ở trên này. Chỉnh sửa nội dung của bạn và thêm tốt câu trả lời, những số câu trả lời tốt, số người mà chủ yếu là trả lời điều đó, tổng số các câu trả lời và bạn điểm . Đừng quên rằng 2 bên cạnh một nhận xét có nghĩa là 3 câu trả lời. Bình luận tự do dưới đây.
SteeveDroz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.