Organize uma lista e escreva um pouco de inglês!


99

Seu chefe conseguiu ler a mensagem secreta oculta . Ele não acabou demitindo você, apenas fez de você uma secretária e proibiu você de escrever código.

Mas você é um programador. Você precisa escrever um código. Você deve codificar.

Portanto, seu código precisa parecer o mais semelhante possível ao inglês, fazer sentido e parecer tão pouco quanto possível. Seu código deve pegar uma lista de números inteiros (em uma função ou STDIN) e retornar essa lista classificada (retornando-a ou STDOUT).

Qualquer idioma pode ser usado, mas estou procurando a solução mais criativa (parabéns, se o seu código parecer uma carta comercial).

Este é um concurso de popularidade!


14
espaço em branco para o resgate?
kaine

19
Ou SPL .
Dennis

4
Pensei em SPL também, mas Chef pode ser divertido, bem como: P
Adriweb

@ Dennis Isso seria quase impossível de descobrir.
Isiah Meadows

Engraçado .. ainda não existem envios de ruby! : P
Gaurav Agarwal

Respostas:


161

GolfScript

Caro chefe.

Percebi que meu teclado precisa ser substituído; as teclas necessárias para escrever os
símbolos ~ $ `. e} não estão funcionando corretamente.

É muito difícil trabalhar assim! Instrua o departamento de TI a trocar o
teclado com defeito o mais rápido possível.

Atenciosamente,

Dennis

Experimente online!

Como funciona

  • Tokens indefinidos (por exemplo, a maioria das palavras em inglês) são noops no GolfScript.

  • . ; duplica a sequência de entrada e descarta a cópia.

  • ~ $ avalia a sequência de entrada e classifica a matriz resultante.

  • ` inspeciona a matriz (para uma impressão bonita).

  • . and duplica a sequência de saída e descarta a cópia.

  • }é um "super comentário", pois é incomparável; tudo o que se segue é ignorado.


111
Acho que você escreveu isso no seu outro teclado?
Geobits 5/09/14

13
Talvez ele tenha escrito com o teclado do mouse escondido no gaboodle de acessibilidade?
Tally

46
É um comentário inline ... é um comentário em bloco ... é um SUPER-COMENTÁRIO!
Maçaneta

9
@ Geobits: Vamos supor que "não está funcionando corretamente" se traduz em "requer várias tentativas para finalmente colocar os caracteres na tela"
justhalf

Ou ele usou o Mapa de Caracteres.
dan04

111

PHP

Define uma função chamada itemque classificará uma matriz pela qual você a passa.

Dear Boss,
I have successfully discovered all brackets.
The ones marked with question marks are the ones which I am not sure about.
The ones marked with asterisks can be used both as an opening and closing delimiter.
(
)
{
}
[
]
>?
<?
/*
'*
"*

Thank you for reading my memo. In other news, the */ function item (#12 in the list of things that have an asterisk before them) was discovered recently, which I read on a local news site.
#12 is my favorite function item! Just thought you'd be interested. Sorry if this is too off-topic; here's some business stuff. Imagine that you had some (let's say you have a combination of $10
& $money) # of dollars (i.e. you have $10 + $money). Now, here's the important part. It's so important, I'll separate it from the rest of this message with the brackets I discovered:

{
#10 in my personal list of things to remember about money management is that you have to be careful. I still haven't been able to
sort #9 out yet (I bought the manual from someone else), but #9 also seems to be about being careful. You also have to guard the dollars
($money); #13 says that if you don't protect them by putting them in a bank or something, they might be stolen.
}

   //-----------------------\\
  //   Signed,               \\
  //   Your great employee   \\
   //-----------------------\\

Parece muito melhor se você o colar em um editor de texto e redimensionar a janela para poder ver a coisa toda na tela de uma só vez.


118
"Descobri com sucesso todos os colchetes." Alguém está indo para o empregado do mês!
Martin Ender

20
-1: você perdeu «e». (Com seriedade, +1.)
Kevin

4
Uau cara. : D Não consegue parar de rir
Ven

70

Python 2

'''''''''''''''''''''''''''''''''''''''''''''
One of the phones in the office seems to be broken, so it needs to be fixed.

''''''''''''''''''''
This memo was made while testing the functionality of its buttons since
some of them didn't seem to work.
''''''''
1 (no alphabets) working with no problem
''''''''
abc working with no problem
'''''''''
def working (partially):
 please                                              =( 'o" :\
 at least I figured out that this was a problem!     :')
 # list (phone number list) was missing as well, so I need to:

 #1
 print (please, sorted (partially)) [1] # list, and [2] the memo
 #2
 return
 #3
 check (making-sure, ghi-jkl-etc. works)

''''''''''''''''''

44
+1 adora como você se esconde defpara significar 'as letras da tecla 3'.
AJMansfield

68

Python 2

'''
                        5th of September 2014

Dear Boss,

I  am writing    this Mail because     i want to discuss  
 the recent   incident.
I am Thankful    that you did not fire   me, and gave me a secretary position instead.
I dont have any    experience in being a     sec retary and I am not very. good at   writing mail,
so please   excuse any spelling,   grammar or   formating   errors  in     this mail.

I will       certainly     try to improve  and do   my best in my new job      and will'''
'from now on strictly ';exec'''ute your orders.   =
Firstly      i want to    sincerly        apologize my   dumb behaviour,it was  idiotic ( and childish ).
I   really  ;apologize  to you. it  wont  .happen again, sir. If   i   could  
 only   reverse   the  timeline       (to undo it all). Then i would;
I   really   promise to never  write  code in any form

Can i talk about that   in   a   meeting with  you?
  Maybe    today at'''[4::15]#in the afternoon?

Encontrar as palavras certas foi uma verdadeira dor.

Entrada: [1,7,4,3]
Saída: [1,3,4,7]


48
Isto se parece com os e-mails que recebo de Nigéria lol
Chris Cirefice

6
@ChrisCirefice Bem, esses e-mails provavelmente também contêm código oculto;) O espaçamento e as palavras um pouco ruins no meu código são porque cada 15º caractere da string após o exec forma uma nova string que é então executada. Então, todo o programa é basicamenteexec"y=input();y.sort();print y"
Markuz

1
A '''seqüência de várias linhas no topo é um morto, infelizmente, mas um de "de agora em diante estritamente '; exec' '' Ute suas ordens." e bom esforço: p
Thomas

60

NetLogo

To Manager [IT]

Let Sue sort it; then
show Sue the end to the end

Com as mudanças de recuo e capitalização, o código fica mais claro (er). Isso define uma função chamada managerque recebe uma lista como entrada e imprime a lista classificada.

to manager [IT]
  let sue sort IT; then (semicolons introduce a comment)
  show sue
  the
end

to the
end

7
Definitivamente não se parece com código.
Dennis

1
Eu gosto muito deste.
Nathan Merrill

59

C

Entrada como lista separada por espaço por STDIN, saída como lista separada por espaço por STDOUT.

Dear Boss, 

I have made for you a decision about my employment a t your company. At about noon 
a letter explaining this shall be presented to you, as I am a lazy person. As you 
are a fool, I will say no more. And I look forward to never seeing you again.

Insincerely, 
Steward Pitt

Isso deve ser compilado com:

gcc bossletter.c -o bossletter -Dam='+++' -Dwill='---' -Dthis='{' -Dhave=';' 
-Ddecision=',' -Dquit='*' -Dfor='(' -Dmy=')' -Dbrain='}' -Dlie=']' -Dnoon='-quit'
-DD='' -Dto='D' -Dyou='D' -Dfool='you' -Das='to' -Dday='D' -Dno='fool' -Dcake='Pitt'
-Dlook='you' -DPitt='the' -Dthe='as' -DBoss='a[9999 lie' -DAs='a have' -Dlazy='my' 
-Dperson='lazy have company' -Dyour='this' -DInsincerely='a' -Dcompany='b' 
-Demployment='int quit' -DDear='struct this employment a have brain b have' 
-Dbe='scanf for' -Dis='I[' -Dnever='for presented " " decision' -Dthat='4 decision' 
-Dagain="my have b" -Dt='decision quit about have' -Dshall='while for' 
-Dpresented='"%" to "d"' -Dletter='have brain' -DAt='a have return quit' 
-Dmore='have b' -DAnd='a have shall' -Dare='qsort for' -Dforward='--my printf' 
-Dexplaining='main for my' 
-Dsay='1 decision that made my day' 
-DSteward='Boss have no brain' 
-Dseeing='the cake is a lie'

O código se expande para:

struct{ int *a; } b;
a[9999], I;
made(a, about) int *a, *about; {
    b.a;
    return *about - *a; 
}
main(){
    while(scanf("%d", I++ + a));
    b.a;
    qsort(a, I-- - 1, 4, made);
    b.a;
    while(I--) printf("%d ", I[a]);
    b.a, a[9999];
}

41
+1 por abuso de pré-processador. É claro que com esse tipo de coisa você pode fazer com que seja lido como qualquer pedaço de código que você desejar.
macio

12
Você deveria ter significado palavras-chave e variáveis ​​e usado apenas o pré-processador para caracteres especiais, como chaves. Você nem fez um esforço.
bebe

3
@bebe quanto mais insolente o abuso, melhor, IMHO :).

9
O próximo codegolf é tornar essa "fonte" compilada para uma implementação do Game of Life de Conway. -Dgolfe!
slebetman

2
@fluffy Adoro abuso de pré-processador em C. ofuscado. Você pode fazer quase tudo nele válido código C com suficiente #define/ -Ds.
Isiah Meadows

24

Python 2 e 3

Infelizmente, os funcionários de hoje não conseguem parar de usar hashtags em todo o lugar ...

#WritingALetter #Business    Dear Boss,
#SecondLine    I found this scrap of paper on the floor. It said "

def sortl(l):        # define a function
    return sorted(l) # returns the list, sorted "

#ScrapOfPaper    Just thought I should let you know.
#Honesty    From Laurence

[Vale a pena tentar, eu acho?]


20
Ótima desculpa para usar comentários, mas infelizmente ele contém código real

Adicionar impressão "olá" no final
Anthony Pham

17

Brainfuck

Hey boss! This is the public key that you asked!

>,[[-[>>+<<-]>+>]<[<<]>,]+>[>+<-]>[>[>+<<->-]<[<<.>>-]<<[>>+<<-]>>+>>]

Pretty cool huh?

Nota de direitos autorais:

Nota: copiei e colei a partir daqui. Tanto quanto eu sei, esses códigos do site são tem copyright cc by-sa 3.0 com atribuição. Se esse método for ilegal, informe-me e tentarei excluir isso.


4
"Seu código precisa parecer o menos possível."
Sean Latham

27
É uma chave pública para criptografia! Não código! Diferente!
Realdeo 6/09/14

2
@Realdeo Não se esqueça o, na segunda linha irá ler mais entrada após o programa funcionou
haskeller orgulhoso

Boa pegada! Editando
Realdeo 6/09/14

4
Com brainfuck, deve ser muito mais fácil incorporar o código em texto simples. >por exemplo, pode ser usado para cotações (é assim que funciona em emails) e assim por diante.
Ingo Bürk

16

Javascript

Não tenho certeza se posso enganá-lo, mas posso jogá-lo fora do meu caminho!

/*Hello Bossman
I feel the need to alert you to a pressing matter.
Nothing Dan from Marketing's head seems to be */function/*ing anymore.
I have a lot of evidence, but not enough time to */sort/* through it.
Should I just send it to you directly */(/*although I'm sure you have about a thou*/s/*and other things to do*/)/*?
Nah, here's it in a summary:

Dan seems to be overly facinated by the */{/* key on his keyboard, and presses it many times a minute.
He */return/*ed his new Galaxy */s/*4, after trying to eat it, multiple times.*/.

/*When Dan was tasked to */sort/* through the Haberson account, he attempted to stab his computer multiple times with a ruler */(/*he was eventually deterred by Jenny)
Everyone backed off for a few days, but we all remembered.
Later, we approached him about the incident, he claimed hostile working conditions and that he was unable to */function(/*.
I think he m*/a/*y need to see a psychatrist.

None of us feel safe to approach him on the topic again*/, b/*rining up conflict is something most of us like to avoid. (except Jenny*/)
{/*Dan was then moved to a different spot in the building, in an attempt to give him a new environment.
Despite the move he */return/*ed to his old desk every day, and wrote */a - b/* on the walls of the new spot.
We all just sort of accepted that and the layout planner gave up after a week or two.

One week we got a new employee in the office. When she went to say Hi to Dan, he screamed a - b over and over.
Not sure what his fascination is there. b-c is a much superior algorithm.

We're not really sure what caused this, but one day he switched from the { key to the */}
/*key. Dan switched back the next day.

There is an ongoing betting pool on what will happen next (general categories mostly*/)
/*Currently the betting for him stabbing an actual person is at almost $20,000.

Please do something about Dan. If anything start a reality TV show from the security tapes.

On a completely unrelated note, I love this new */}/* key, it's really neat looking. Did my keyboard always have this?
Sincerely,
Zeke*/

function sort(s) { return s.sort(function(a,b) { return a-b }); }


15
O abuso de comentários torna isso mais óbvio.
Isiah Meadows 08/09

14

Dogescript

É basicamente inglês, certo?

shh oooot! my  keyybr oad is brokn. i ne ed neew 1.
such fixs much keys
keys dose sort
wow keys

traduz para:

// oooot! my keyybr oad is brokn. i ne ed neew 1. 
function fixs(keys) {
    keys.sort();
    return keys;
}

15
Eu acho que o seu chefe vai demiti-lo se você escrever assim ...
TuxCrafting

10

LiveScript

Tente descobrir isso ... Envia-lhe e-mails como esse o tempo todo para permitir copiar e colar fácil e mais versátil.

# Mr. Boss,
#
#     So, I'm done with this job. It is driving
#     me crazy. We aren't allowed to have *any*
      fun =#(. I am planning on leaving this
#     company while you all poorly attempt to
#     sort all this out. Also, I would like to
#     mention that a specific single bit in the
       sort # for your in-house algorithm gets
#     inverted. Happy hunting while I have fun
#     programming for another company far more
#     grateful than yours.
#
# Best regards,
# Your handy little programmer-turned-secretary.

1. Sua biblioteca padrão, Prelude.ls, possui uma função de classificação nativa.
2. Observe os dois hashes ausentes (comentários). O primeiro é muito mais óbvio que o segundo.

Ele analisa da seguinte maneira: "fun = sort" e compila com isso: "var fun; fun = sort;"


A propósito, o marcador de sintaxe é uma falha. Um dos comentários não foi analisado corretamente.
Isiah Meadows

10

Desvio (não concorrente; -;)

Dear Boss Man
I thought I had put your recovered files on drive z.
In reality it was downloaded to the main drive, C://users/boss/recovery. Sorry for the confusion!

Intérprete Permalink

Como funciona:

A única parte importante é ://e a linha acima dela z.. :significa "colocar entrada aqui", o primeiro /reflete até z, que é uma espécie; então ele sobe, passa pelo topo, continua subindo de baixo e depois bate /por baixo, o que o deixa à esquerda para o outro /, o que faz a mesma coisa, exceto que desta vez se aproximando .ou saindo.

Versão simplificada:

Desvio

Dear Boss Man             
             z.
            ://

Experimente online!


5

JavaScript (ES6)

      (a) => /*----------*\ <= (a)
       |      Announcement      |
  .   (a)    \*----------*/    (a)   .

 sort (/* YOUR DOCUMENTS BEFORE 2/5 )*/

     ($,_) => /*--------*\ <= (_,$)
      |         Warnings         |
 //  (_-$)    \*--------*/    ($-_)  //

      /*( NO SMOKING IN OFFICE */)

Experimente online!

Sim, eu sei que o chefe gosta de decorações extravagantes em seus avisos, então coloquei em maiúscula os textos e os envolvi com símbolos extravagantes :)

PS. Por que o escritório ainda está usando o TELNET?

Na verdade, remover comentários e espaços em branco redundantes transforma o material (a)=>(a).sort(($,_)=>($-_)), e é isso que o material pretende;


3

√ å ı ® Ï Ø ¿

Eu apenas procurei a outra resposta, mas ainda acho que a minha é de longe a melhor (não todos nós).

isolate quickly! Then read this short story: Funny Steve Jobs
. A Short Story
 by This Guy. Steve Jobs looked at the heavy stone in his hands and felt annoyed. He walked over to the window and reflected on his sunny surroundings. He had always loved nice Silicon Valley with its huge, hurt houses. It was a place that encouraged his tendency to feel annoyed. Then he saw something in the distance, or rather someone. It was the figure of Bill Gates. Bill was a happy monster with young heads and old feet. Steve gulped. He glanced at his own reflection. He was a funny, irritating, beer drinker with skinny heads and ginger feet. His friends saw him as an abundant, average angel. Once, he had even made a cup of tea for an unusual old lady. But not even a funny person who had once made a cup of tea for an unusual old lady, was prepared for what Bill had in store today. The sun shone like coding dogs, making Steve violent. As Steve stepped outside and Bill came closer, he could see the anxious smile on his face. Bill glared with all the wrath of 9230 stupid healthy humans. He said, in hushed tones, "I hate you and I want money." Steve looked back, even more violent and still fingering the heavy stone. "Bill, you stole my idea," he replied. They looked at each other with angry feelings, like two creepy, curried cats challenging at a very sad party, which had jazz music playing in the background and two annoying uncles doing to the beat. Steve regarded Bill's young heads and old feet. "I feel the same way!" revealed Steve with a delighted grin. Bill looked sad, his emotions blushing like a charming, cheerful computer. Then Bill came inside for a nice drink of beer. THE END

2

Groovy

'Dear Bossman,
I finally found the formula to calculate the salary for the new employees.
In the salary software just enter the following:'
print "${(args.toList()*.toInteger()).sort()}"'
Sincerely,
Employee'

13
Você não deveria estar escrevendo código. Isso é código.
Zach Mertes

7
Eu gosto bastante deste. Está apenas escondendo o código à vista.

4
LOL você deve colocar "Encontrei a fórmula do Excel " então. Embora eu esteja familiarizado com o Excel, a referência nunca passou pela minha cabeça.

5
As fórmulas do @kuroineko Excel não têm uma sintaxe tão programática, pois não?
Little Child

3
8 upvotes e 9 downvotes? Uau; isso é controverso.
Ypnypn

2

05AB1E

Dear Boss‚

I hope I{qualify for this new function. I once again want to sincerely apologize for my earlier secret message.
Thank you for giving me the opportunity to work at this apartment instead.
I must admit it's hard to resist the urge to write code, but I'll do my best.

Thank you.

Kind regards from your new secretary,
Kevin Cruijssen

Experimente online. (O TIO usa a versão herdada, que é um pouco mais rápida. Porém, funciona da mesma forma que a nova versão 05AB1E.)

Explicação:

O código 05AB1E ignora novas linhas e espaços fora das strings ou das strings / números compactados (exceto ao usar a declaração if () else que acabei de descobrir em uma tentativa anterior de criar este programa ..>.>), Então vamos fazer o mesmo nesta explicação.

DearBossIhope # These are all no-ops; they do execute, but won't affect the output:
D              #  Duplicates the (implicit) input-list
 e             #  Calculates the number of permutations of each item in the list
               #  (NOTE: this might time-out depending on the values in the input-list)
  a            #  Check if these numbers are letters (becomes a list of 0s / falsey values)
   r           #  Reverse the items on the stack
    B          #  Base conversion
     o         #  Raise 2 to the power of each number
      s        #  Swap the top two items on the stack
       s       #  Swap the top two items on the stack
              #  Pair the top two items
               #  (NOTE: This is not a regular comma (,), since that would print the top of
               #   the stack to STDOUT, which we of course don't want here.)
         I     #  Push the input-list again
          h    #  Convert each value to hexadecimal
           o   #  Raise 2 to the power of each integer value
            p  #  Check for each if it's a prime
             e #  Calculate the number of permutations of each item again

I{q            # Then the actual program comes:
I              #  Push the input-list
 {             #  Sort it
  q            #  Stop the program
               #   This makes everything that comes after it no-ops
               #   And will output the top of the stack implicitly as result

Experimente online com o modo depurador adicionado para ver tudo isso em ação.


1
+1 por ser natural.
HighlyRadioactive

1

Zsh

Não sei se o código ou a escrita criativa foram mais difíceis.

: RE: The state of the evaluation process; eval `#problems'

: While I appreciate your enthusiasm, going to `print `
: this for the world to see isn't helpful in the long run.
: Please, don't make any more enemies than you already have.
:
: > People seem to just want that `'$'`: It's a big problem
: > which needs to be resolved. People need to buy into the
: > company's team-based philosophy `'{'`: ... ''}''
:
: While I do not deny that people "just want that '$'",
: I absolutely disagree that it's a _bad_ thing. Employees
: should not be guilty for wanting to leave for greener
: pastures, so you should try and provide _some_ incentive
: to stay.
:
: > And yet everyone want's to just check "(y)" or `'(n)'`
: > without giving _any_ further feedback... You're too LAZY!
:
: I want to stop you here. Accusations like this against my
: team are _not_ to be tolerated. We do a _lot_ behind the 
: scenes which you _clearly_ aren't aware of. Please refrain
: from `'@-ing'' any of my team, and think with a bit more
: empathy next time, thank you.

-- Gamma :-}'

Experimente online!

  • Nota: Isso criará arquivos denominados "Pessoas" e "sem" no diretório em que é executado.

  • A partir da primeira linha, você pode ver o eval, seguido pelos backticks.

  • # commentscontinue no final da linha, impedindo que cotações ou backticks sejam resolvidos; portanto, usamos :no-ops para recuar.

  • O padrão padrão que usamos ao longo disso é `: lots of filler text.... : more filler text, then an important `'X'` : back to the garbage

  • No final, há uma exceção: tudo, do @-ingúltimo ao último, }não é proibido.

  • Quando a substituição termina, ele lê: eval print $'${(n)@-ing any of my team, and think with a bit more\n: empathy next time, thank you.\n\n-- Gamma :-}'O lixo depois do @não faz nada, portanto isso é equivalente a print ${(n)@}, que é simplesmente um tipo numérico dos parâmetros.



0

JavaScript (Node.js)

Attachment => (

`Date: 2019/5/30

Dear my Majestic Boss,

Re: Business Trip to Japan

I'm writing to confirm itinerary for the next trip to Japan will be as follows:

`? (Tennoji, Osaka) => ("Shinsaibashi Tower", Osaka)

|| // Day 1

Tennoji [Osaka, "sort"] 
(Hotel = (JPY$14112, Taxed) => `So I will stay here for one night, and I will be charged this price:

`? JPY$14112 + (0 - Taxed) 
:`This is the total price and what I will claim afterwards.`

):0) (Attachment)

|| // Day 2

"Shinsaibashi Tower" [Conference, `NOT FOR SHOPPING`]

`I will be coming back on Day 2, so the trip will not cost too much hopefully.

Best regards,
The-former-programmer`

Experimente online!

Ok, este é um itinerário aparentemente. Outra resposta em outra direção após um ano.

A parte realmente importante é Attachment => (Tennoji => Tennoji["sort"]((JPY$14112, Taxed) => JPY$14112 - Taxed))(Attachment)


-1

C #

// Caro chefe,

/*i have a */public/*shed a*/ List /*of*/ <string>/*s
to*/ Sort /*for you on our internal website
please take a look at the */(List /*of*/ <string>/*s and*/ check){
/*them for company restrictions. please also */check /*the */.Sort();/*ing of the     list*/
/*furthermore could you please */return /*an email to me in which you state your */check/*ing state*/;}

// sincerely your slave Rob

5
Meu deus que é difícil de ler ...
Beta Decay

12
Parece muito codey.
Isiah Meadows

2
Comentários óbvios :) A primeira linha lê public List <String>, sem um monte de problemas :)
Martijn
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.