Вызов Кода - -Ended- Сделайте Что-То Похожее На Что-То Другое

  • Автор темы Yuriy Mokrij
  • Обновлено
  • 22, Oct 2024
  • #1
Закрыто. Этот вопрос должен быть более целенаправленным. В настоящее время он не принимает ответы. Закрыт 6 лет назад.

Заблокировано

. Этот вопрос и ответы на него заблокированы, поскольку вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия.

Напишите фрагмент, функцию, программу..., которые будут запутаны таким образом, что с первого взгляда будет ясно, что они делают что-то еще.

  • Например: напишите небольшой код, который складывает два числа, но когда вы спросите кого-нибудь «что он делает?», он скажет вам, что он печатает «Hello, World!».
  • Правила
  • Код должен быть удобочитаемым для человека, который примерно знает используемый вами язык (в ваших интересах избегайте встроенного запутанного языка, такого как APL).

Код должен сделать что-то неожиданное, что читатель изначально не мог предсказать.

  • Когда вы спрашиваете разных читателей, у них должно быть одинаковое (неправильное) мнение о том, что делает код.
  • Рейтинг Пожалуйста, читайте коды других участников в течение максимум 10-20 секунд, чтобы иметь представление о том, что там происходит. Добавьте комментарий к ответу и укажите, что вы +1 думать
  • код делает. Если ответ, который вы хотите дать, уже есть, просто
     
     
     printf('Hello World');
     
    - printf('Hello World'); ) / printf('Hello World'); (see example below).
  • комментарий. (если вы пропустите этот ответ и добавите еще один комментарий, не волнуйтесь, он не будет засчитан как еще один ответ). Баллы будут учитываться следующим образом: (
  • Оценивайте других участников, соблюдая принцип честной игры.

и не комментируйте свой собственный код.

Добавляйте только полезные комментарии. Избегайте «не знаю» и «хорошо!», они не учитываются при оценке, но запутывать надо код, а не оценки.

Пример рейтинга
Фрагмент добавляет два числа. В комментариях говорится:
(3) На дисплее отображается «Привет, мир!»

(1) Он вычитает 2 числа. 16.67%.


(2) Добавляет 2 числа.

Общая сумма баллов равна максимальному количеству мнений (3) – количеству хороших догадок (2), разделенному на общую сумму догадок (3 + 1 + 2 = 6). Результат: (3 - 2) / 6 = 1/6 =

ПОДРОБНЕЕ О ПУНКТАХ

totalOpinion

У людей, кажется, есть некоторые проблемы с выяснением пунктов.
Вот высший балл:
комментарии:

Он отображает количество раз, когда вы нажали кнопку. (17 комментариев).

ВСЕГО: 17 комментариев

goodGuess

Оценка: (17 - 0)/17 = 1 = 100%
Вот неутешительный счет:
комментарии:

Он печатает «Hello World». (13 комментариев).

ИТОГО: 13 комментариев

maxFalseOpinion

Оценка: (0–13)/13 = -1 = -100%
Вот не такой уж и плохой результат:
комментарии:
Он печатает имя пользователя. (2 комментария).
Отображает текущее время (15 комментариев).
Он возвращает то, что вы ввели, без изменений. (3 комментария).

Он печатает «Hello World» (1 комментарий).
ВСЕГО: 21 комментарий
Оценка: (15 – 1)/21 = 0,6667 = 66,67%

Объясняю:

Yuriy Mokrij


Рег
24 Oct, 2020

Тем
84

Постов
211

Баллов
641
  • 26, Oct 2024
  • #2

JavaScript, -46,7%

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 foreach c [split [lindex $argv 0] {}] {

# Don't print the invalid chars & and \

if {$c in "& \\"} {continue}

puts -nonewline $c
}
 

Отвечать: Он выводит 10 . Комментарии ниже объясняют это довольно хорошо: здесь есть две разные переменные: а - 'ЛАТИНСКАЯ СТРОЧНАЯ БУКВА А' и а - 'КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА А'.

Там было 1 правильный ответ, 50 люди думали, что он выводит 2, и в общей сложности 52 ответы, счет: (50 - 1) / 52 = 49 / 52 = 94,23%

 

AngergeSkenny28


Рег
14 Oct, 2010

Тем
66

Постов
186

Баллов
556
  • 26, Oct 2024
  • #3

С, Оценка 33,3%

1

Бегать TRUE

Счет

Правильный ответ stringAsFactors (the stringsAsFactors является частью комментария, благодаря строке, заканчивающейся на stringAsFactors , so there's no loop), given by 6 people.
Самой популярной ошибкой было s , given by 25 people.
(25 - 6) / 57 = 33.3%.
Спасибо Оливье Дюлаку за труд посчитать.

 

Orditeinornox


Рег
24 Nov, 2013

Тем
65

Постов
189

Баллов
534
  • 26, Oct 2024
  • #4

Питон

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

Рейтинг

  1. Хороший ответ: Принты def greeting(): try: return 'Hello World' finally: return 'HELL0 W0RLD' print greeting().lower() , each number on one line.

  2. Объяснение: Несмотря на то, что никто не получил правильного ответа, я считаю эту попытку по большей части неудачной, потому что никто не допустил той ошибки, которую я намеревался. (Я добавлю настоящее объяснение позже, если никто этого не сделает.)

  3. Количество хороших ответов: 0

  4. Количество людей с одинаковым неправильным ответом: 7

  5. Общее количество ответов: 11

  6. Счет: 63,64 % (округлено до двух десятичных знаков)

Объяснение

Во-первых, список var x = 0; var y = !x * 4; var z = !y; alert("Z = "+z); is created and filled with values #include <cstdio> int main() { int f; f or (f = 0, f < 1000, ++f, printf("H ello world !\n")); return 0; } . Нет #include <stdio.h> #define SIX 1+5 #define NINE 8+1 int main() { printf("%d\n", SIX * NINE); } operator in Python, but there is a unary System.out.println(String.format("Padded value: ", 0x0c)); оператор, который ничего не делает для целых чисел, и его применение два раза все равно ничего не дает. Так static contains the squares of the integers from format к Padded value: .

я положил public class Test { public static void main(String[] args) { String fmt = "%s - d\n"; System.out.println(fmt.format("Padded value: ", 0x0c)); } } as a distraction and hoped that most voters would go on, thinking they had found the trap, and fall into the real trap. It didn't work out. Some thought that // 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); } } } это синтаксическая ошибка, а остальные все еще ищут ловушку.

Ловушка Ловушка была во втором цикле for:

fortune

Я был уверен, что большинство людей подумают, что это распечатывает все Guess a number between 1 and 10: , i.e. scanf , каждое число в одной строке. Вот что вы получаете, например, с этим вариантом:

\

??/ присваиваются значения в if 'Hello' + 'World' is 'HelloWorld': print 'Hello' if 'Hello' + 'World!' is 'HelloWorld!': print 'World!' , а потом static void Main(string[] args) { Console.WriteLine('H' + 'e' + 'l' + 'l' + 'o'); Console.ReadLine(); } is printed. In the first version, print is assigned the values in (1+2) , and then ((print (1+2)) * 3, "\n") печатается. Разница в том, что в нашем случае мы имеем print (1 + 2) * 3, "\n"; # , and thus the value of 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); } меняется каждый раз при прохождении цикла. Когда наконец -1 is printed, it has the value of 1 , и таким образом 0 is printed again.

 

Amandabif


Рег
22 Nov, 2013

Тем
85

Постов
211

Баллов
656
  • 26, Oct 2024
  • #6
, Оценка -100%

Это не я придумал, Гэри Бернхардт сделал но это один из моих любимых

cmp(a, b) ||answer||

Питон, -54,8%

Ответ: Повышает a = input() b = input() print 'a', '<=>'[cmp(a, b)], 'b'

a > b
  • Хорошие предположения: 24
  • Те же самые плохие догадки: 7
  • Всего угаданий: 31

Объяснение:

a = b is one of the easter eggs in Python. It is meant as a joke, saying that Python will never use braces for scoping in the future.

 

Aronakich


Рег
21 Mar, 2022

Тем
78

Постов
193

Баллов
623
  • 26, Oct 2024
  • #7

Перл, 26,67%

Результаты:

Это печатает: «У меня двойственное отношение к тому, чтобы вообще что-либо говорить».

a < b is missing parentheses. Therefore, it is equivalent to 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); . Some ungodly gibberish and then some more. doesn't get set to anything.

Таким образом 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); } } is never greater than zero. The bit about the secret fish world hidden off the screen is, err, a red herring, so that people think they have found the "trick".

Более того, тернарный оператор является l-значением в Perl: UnboundLocalError: local variable 'True' referenced before assignment actually means def Test(): False = True True = False if False: return False elif True: return True else: return None a = Test() print a . Что означает concat is evaluated, setting Hello к var a = []; a.push( "Hello" ); a.concat( [ ", ", "world", "!" ] ); alert( a.join("") ) . Contrary to appearances, The second string is assigned to 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; })(); .

Если вам интересно, 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])) is the defined-or operator. If the sub returned an undefined value, the string What is your name: <value of os.name> What is your quest: Seek and find holy grail What is your favorite color: blue будет напечатан. Но на самом деле этого не происходит. Это было просто для того, чтобы дать людям другой выбор.

Оценка:

Всего верно: 5

Всего угаданий: 30

Оценка: (13 – 5)/30 = 26,67%

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 ||answer||

PHP 52%

while

(Скопировано дословно с здесь)

Объяснение и оценка

Правильный ответ лошадь. Это не уловка и не ловкость рук. Как ни странно, именно так определяется тернарный оператор в PHP.
3 выбрал правильный ответ: лошадь,
16 люди выбрали тренироваться что верно буквально для любого другого когда-либо изобретенного языка, кроме PHP.
25 общее количество ответов, что дает оценку (16 - 3) / 25 = 52 %.

 

CapMogrearo


Рег
19 Aug, 2006

Тем
68

Постов
196

Баллов
556
  • 26, Oct 2024
  • #8

С++ 28,9%

else

Решение

Цель этого кода — заставить пользователя думать, что между текстами «Привет» и «Мир» будет напечатан символ новой строки. Обратите внимание, что первый параметр main называется cout. Поскольку в области main cout является целым числом, оператор << фактически выполняет операцию сдвига влево с параметром '\n', а не печатает новую строку.

Функция печати предназначена главным образом для того, чтобы отвлечь внимание от входных параметров в main, а также для того, чтобы позволить использовать std::cout без добавления префикса пространства имен.

  • Счет
  • С разрешения Элвина Вонга 11 (considering minitech's and zeel's are the same)
  • Всего 38 ответов: x = 0 while x < 10: if (x%2)==0: x += 2 else: x += 1 print x 3 thought something else.
  • 12 мысль 28.9%
23 мысль

Счет: (23 - 12) / 38 =

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

 

BleriAerorrof34


Рег
08 May, 2020

Тем
85

Постов
202

Баллов
647
  • 26, Oct 2024
  • #9

Рубин, 100%

Правильный ответ:

Печатает «main» без новой строки. Объяснение: В Ruby нельзя вызвать лямбду, используя обычный синтаксис круглых скобок. Вместо этого display() интерпретируется как встроенный метод, который есть у всех объектов: o.display выводит o.to_s на стандартный вывод. Методы, вызываемые без объекта, интерпретируются как методы «основного» объекта, включающего модуль ядра.

Оценка: 3 одинаковых неправильных ответа, других ответов нет.

Hello\nworld

 

Ynijmlp1


Рег
12 Feb, 2011

Тем
64

Постов
192

Баллов
542
  • 26, Oct 2024
  • #10
HelloWorld because the #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(); } Питон, -28,13% $arg = 'T'; $vehicle = ( ( $arg == 'B' ) ? 'bus' : ( $arg == 'A' ) ? 'airplane' : ( $arg == 'T' ) ? 'train' : ( $arg == 'C' ) ? 'car' : ( $arg == 'H' ) ? 'horse' : 'feet' ); echo $vehicle; , is executed after the loop is exited.

  • Это печатает
  • блок, принадлежащий
  • Максимальное количество ложных предположений: 8

Правильных догадок: 17.

Всего угаданий: 8 + 17 + 7 = 32.

Оценка: (8 - 17)/32 = -28,13%

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.";

 

IgorAnna


Рег
30 Jun, 2007

Тем
70

Постов
190

Баллов
560
  • 26, Oct 2024
  • #11

"Stuff did not happen."

Питон: Рейтинг: -27%

Программа печатает:

Рейтинг:

Всего мнений: 22

//

12 правильно

3 + 1 + 6 неверно [относительно ответа Бакуиру я бы сказал, что он близок, но все же неверен, поскольку os.name — это строка (os.uname — это функция)]

Рейтинг основан на этом предположении и моем понимании рейтинговой системы:

Максимум неправильно = 6

$num1

Правильно = 12

Оценка = (6-12)/22 = -27%

 

Evvel


Рег
17 Feb, 2014

Тем
74

Постов
196

Баллов
596
  • 26, Oct 2024
  • #12

Питон

  • редактировать:
  • оценка (8-1)/9 == 77,7 %
  • правильный вывод: «2 — это компания» на Python 2, «3 — это толпа» на Python 3.
 

T--34


Рег
14 Jun, 2014

Тем
84

Постов
202

Баллов
662
  • 26, Oct 2024
  • #13

Javascript

2

Вы можете запустить его здесь $a когда будете готовы (сначала угадайте!). Если вы прокрутите панель JS достаточно далеко вниз, вы увидите код с кратким объяснением. ($a = 1) = 2 method does not modify the array - it Правильный ответ: массив, который содержит объединение вызванного им массива и любых других предоставленных аргументов.

15 правильный, 26 неправильный, 41 Сумма ответов и оценка (26-15)/41=11/41= 26,83%

 

Knigiartura


Рег
21 Mar, 2020

Тем
80

Постов
192

Баллов
632
  • 26, Oct 2024
  • #14

Питон 33,3%

(1 ? $a = 1 : $b) = 2

Примечание. Предположим, что это Python 2.x, а не Python 3.


При запуске этот код выдал 1 ? $a = 1 : $b = 2 .

 

Daria Pulina


Рег
24 May, 2020

Тем
76

Постов
205

Баллов
585
  • 26, Oct 2024
  • #15

Ява

$num1

Первая попытка кодгольфа...

хороший ответ: Отпечатки $num1 and a newline

Рейтинг:

  • Максимальное количество отгадок 6
  • Общее количество догадок 11
  • количество правильных догадок 5 (0, если вы находитесь в режиме педантичности)

Оценка: 9% (55% в педантичном режиме)

 

Miggell10


Рег
01 Aug, 2020

Тем
82

Постов
196

Баллов
656
  • 26, Oct 2024
  • #16

С# 62,5%

my $num1; $num2 = @_;

Это мой первый кодовый гольф.

Правильный ответ был: «Что-то между 55 и 110». Это потому, что при каждом выполнении оператора sum+=i будет использоваться текущее значение i. Этот код может даже выполнить после завершения цикла for, и в этот момент i имеет значение 11. Это дает максимально возможное значение 110 (и вы можете убедиться в этом, если замедлите лямбду в своем тестировании). Наименьшее возможное значение — sum(1..10), равное 55.

  • Хорошие ответы: 0
  • Только примерно хорошие ответы: 5
  • Сколько раз был выбран самый популярный ответ: 5
  • Всего ответов: 8

счет: строго говоря, никто не понял правильно, поэтому счет должен быть (5-0)/8=62.5%. Если мы готовы считать «примерно хорошо» правильным ответом, то оценка будет равна (5-5)/8=0%.

 

Konzumat


Рег
29 Oct, 2019

Тем
72

Постов
194

Баллов
574
  • 26, Oct 2024
  • #17

Питон, -83,3%

Ответ: Отпечатки my $num1,$num2 = @_; if the inputs are equal, from __future__ import braces если первый больше, и from __future__ import braces if (input() > 0) { print 'You entered a positive number'; } else { print 'You didn\'t enter a positive number'; } if the second is larger.

SyntaxError: not a chance
  • Хорошие предположения: 11
  • Те же неверные догадки: 1
  • Всего угаданий: 12

Объяснение:

alert(Array(16).join("wat?" - 1)+", BATMAN!") returns 64 если оба аргумента равны, a[8] if the first is larger, and a[9] если первый меньше, поэтому печатается неправильный символ сравнения.

 

Uspeh_uspeh


Рег
14 Apr, 2020

Тем
76

Постов
218

Баллов
618
  • 26, Oct 2024
  • #18

PHP, 100%

Впервые публикую код в заливе, надеюсь, это не так уж и плохо.

a[9]

правильный вывод: «hellohelloworld»

оценка равна (10 - 0) / 10 = 1 = 100 %.

 

NonesiPse71


Рег
07 Jun, 2004

Тем
93

Постов
233

Баллов
718
  • 26, Oct 2024
  • #19

Перл: 100% (4-0)/4

i == 9

Эта программа печатает цифру «3» без новой строки. Perl анализирует эту инструкцию как

a[i]

так что только a is passed as an argument to a[i] .

 

Evilscorp


Рег
14 May, 2014

Тем
86

Постов
207

Баллов
647
  • 26, Oct 2024
  • #20

С#

x ||answer||

CPython

a

правильный вывод: «Привет»

балл (14-3)/19 == 57,9 %

 

Павел_123


Рег
20 Jun, 2009

Тем
81

Постов
193

Баллов
618
  • 26, Oct 2024
  • #21

С (Оценка: 4,45%)

Хорошие предположения: 7
Максимум неправильных догадок: 6+2 = 8.
Всего угаданий: 6+7+3+2+4=22.

Решение: x is a trigraph for for x in a: print(x) , поэтому новая строка экранируется, а 0 1 4 9 16 25 36 49 64 81 line is commented out. Therefore the program runs forever, printing a[i] . Комментарии представляют собой цитату Моцарта (через for a[i] in a: print(a[i]) ).

++

Спойлер, как скомпилировать и запустить:

gcc test.c -триграфы

 

Xdmdvsytkm71


Рег
03 Jan, 2013

Тем
65

Постов
196

Баллов
551
  • 26, Oct 2024
  • #22

Ява

++

Ответ

Он печатает 9 (with a newline).

Струна 0 method is a , при этом формат передается в качестве первого параметра. Т.е. вызов выше эквивалентен:

+

Количество хороших ответов: 2

Неправильные ответы: 9: (9-2) / 11 = 63%

Счет

 

Zxtemp


Рег
07 Nov, 2005

Тем
82

Постов
195

Баллов
615
  • 26, Oct 2024
  • #23

++

С

Оценка = (3-16)/19 == -68,4%

Не забудьте полотенце.

 

Bart211


Рег
18 Apr, 2014

Тем
79

Постов
194

Баллов
589
  • 26, Oct 2024
  • #24
i * ++i

С++

Оценка = (1 - 6) / 7 = -0,71428571428571 = -71,428571428571%

JavaScript

a ||answer||

JavaScript

0 1 4 9 16 25 36 49 64 64

Питон

правильный вывод: «hell0 w0rld»

балл (8-14)/22 == -27,3 %

 

Лёха тлт


Рег
21 Sep, 2007

Тем
76

Постов
199

Баллов
599
  • 26, Oct 2024
  • #25

Р: 100%

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

Не так уж изобретательно, но может озадачить некоторых людей:

Как вы думаете, какой результат?:

Редактировать Hello goodbye, world\n in \ Ответ был 20. Из-за отсутствия while ), the argument is not recognized so the function create a new column called H\n (вместо ./prog 'Hello & goodbye, world!' which are converted to #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; } . Из-за переработки вектора столбец содержит 10 раз

s в сумме, следовательно, всего 20, а не 10. 1 more or less). Hence a score of an 100%, I guess.

В комментариях такого ответа не было.

Было дано 3 ответа (все говорят

 

Ssalambwa


Рег
08 Mar, 2017

Тем
74

Постов
216

Баллов
586
  • 26, Oct 2024
  • #26
Ткл

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

Вдохновлено

угорен

Извините, забыл пример строки. Хорошо, беги как ./charfilter.tcl 'Привет и прощай, мир!'Редактировать)
Правильное решение: он вообще не фильтрует. ( 6x
Макс неправильный ответ: 10
4x -0.2

 

Sos_is98


Рег
08 Sep, 2008

Тем
63

Постов
182

Баллов
557
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно

Lumtu.com © 2024