Limerick Hello World [fechado]


28

Um programa de rima que você escreve
Tentando vencer a luta
Por vencer o concurso e votar
Ele deve computar "Hello World"
Depois imprimi-lo com muita cortesia

O poema mais popular vencerá.

Os requisitos são:

  • O poema deve ser de 5 linhas com rimas AABBA
  • Ele pode imprimir o que você quiser, mas a saída deve conter "olá mundo" (maiúsculas / minúsculas não importa, aspas não incluídas na saída)
  • Os símbolos são lidos em voz alta. Por exemplo, a quarta linha acima é lida: ele deve computar as aspas hello world quote
  • Poste abaixo do seu código, em outra visualização de código, a versão "em voz alta" do seu código para desambiguação em símbolos especiais.

Excluídos são os poemas:

  • incluindo código morto ou caracteres que poderiam ser removidos com segurança sem alterar as rimas ou a funcionalidade
  • Usando comentários como uma forma de rimar (exceto se houver uma boa razão para isso)
  • usando o mesmo símbolo do final da frase para rima.

Em caso de empate, os programas que apresentarem um poema vencerão. Se ainda houver um empate, os programas mais curtos vencerão.

Novas linhas não contam. espaços, tabulações e novas linhas não são lidos em voz alta. Por exemplo, "Olá, mundo!" seria lido em voz alta "aspas duplas hello vírgula mundo ponto de exclamação aspas duplas".


As integrais necessidades do programa a ser de cinco linhas? Uma resposta não pode ser simplesmente o trecho de comandos necessários? Excluindo as declarações de classe / função e tudo?
Mikhailcazi

Sim, o programa inteiro precisa ser de cinco linhas. Tente espalhar suas definições e inclui ao longo das linhas. A maioria dos PL tem uma maneira de incluir várias frases em uma única linha com ponto e vírgula ou similar.
Mikaël Mayer

Vejo que muitas das respostas estão tentando produzir limericks, porque você menciona essa palavra em seu título, mas não em seus requisitos.
Trig

Isso é verdade. Eu só quero que o programa seja uma limerick.
Mikaël Mayer

Estou votando para fechar isso como muito amplo, porque não há como determinar objetivamente se uma resposta é válida.
Assistente de trigo

Respostas:


86

Espaço em branco

Um programa de rima que escrevi  	   
	
     		  	 	
	
esse poema de espaço em branco e inchaço		 		  
	
     		 		  
	
porque novas linhas não contam  		 				
	
     	     
	
apesar da quantidade   	 	 			
	
     		 				
	
então merece o seu voto mais sincero 			  	 
	
     		 		  
	
     		  	  
	
  


Wikipedia: Espaço em branco (linguagem de programação)
Intérprete on-line para testar a resposta

Saída:

Olá Mundo

3
De alguma forma, isso me lembra o Come Together dos Beatles .
user12205

7
Certamente "acabou comigo"
Sideshow Bob

6
Excluído: Usando comentários como uma forma de rimar
Não que Charles seja o

2
Bem, esqueci que outros caracteres eram comentários em branco. Eu não acho que vou manter essa regra, porque isso arruinaria este vencedor.
Mikaël Mayer

3
@ MikaëlMayer Acho que você deve manter a regra. Eu suspeito que muitos desses votos são principalmente de pessoas que estão apenas descobrindo o charme do espaço em branco. Pessoalmente, estou mais interessado em ver respostas no espírito do desafio real do código de rima.
Jason C #

60

HTML

<html>
<body><span
    class="poem"
    > Hello World! I'm a goat
</span></body></html><!-- Pecan -->

Eu tive que ser um pouco liberal com a pronúncia da última linha. Espero que não quebre as regras. Também não é 100% válido por W3C, mas funciona na maioria dos navegadores.

<!--
less than aich tee em el greater than,
less than body not equal to span,
class equals quote poem end quote,
greater than Hello World Bang I'm a goat
close span close body close root comment pecan
-->

4
+1 para re-pronúncias inteligentes ... + Comentário "Bang, I'm a goat" ...
WallyWest 04/03/14

5
+1 para ler ><como "não é igual"
John Dvorak

3
Um novato, um poema que ele escreveu - a / Esperando obter apenas um voto - a / E agora nesta corrida / Ele está em segundo lugar! / Com o mesmo número de repetições de vários anos no StackOverflow-ta.
Cobaltduck # 6/14

26

Javascript

Eu sei que isso não está dentro das regras, mas não pude resistir

var girl, attractive = true;    // There once was a beautiful girl
var boy; girl = ' World';       // And a boy who thought she was his world
boy = 'Hello' + girl;           // When the boy said hello
if (boy != attractive)          // She said 'my goodness no!'
    alert(window['boy']);       // And the boy through the window she hurled.

4
Criativo e engenhoso.
Damon Swayn

3
Não havia necessidade de redefinir garota na segunda linha, mas eu ainda amo.
howderek

23

Python

a = [
'hello world']
print ''.\
join(a##
)

ou,

a equals open square bracket
quote hello world quote close square bracket
print quote quote dot backslash
join paren a hash hash
and finally close unmatched bracket

Estou voluntariamente assinando regras adicionais, porque acho (1) que os limericks devem ter um bom medidor e (2) que os melhores têm uma surpresa na última linha.

(Com o final sendo interpretado em inglês simples, acho que você pode descobrir que tipo de colchete é incomparável. Quanto ao requisito sem código morto, nada pode ser removido sem alterar pelo menos uma das rimas, ritmos ou saídas )


Pode-se remover um hash sem alterar a funcionalidade ou a rima. Ele faz mudar o ritmo como você estado, mas as condições da pergunta são bem claras aqui, eu acho.
Keba

1
Como a natureza da poesia é dobrar regras, posso conviver com ela. Dito isto, não está claro para mim que o medidor não faça parte do conceito de rima do OP de qualquer maneira.
Sideshow Bob 4/14

3
Meh. Rimar "bracket" consigo mesmo três vezes é apenas uma preguiça.
MikeTheLiar

Sim, me sinto mal por isso. Mas é um símbolo diferente para cada rima, conforme solicitado pelo OP.
Sideshow Bob

14

Haskell

Tomando algumas liberdades com a pronúncia de certos símbolos, ou seja, construção de tupla (,,) e aplicação de função ($).

main = something that we wrote
     where something x y z = bloat
           bloat = flip ($) m putStrLn
           (that,we,wrote) = undefined
           m = "hello world"

A leitura deve ser:

main is something that we wrote
where something x y z is bloat
bloat is flip apply m putStrLine
Tuple that we wrote is undefined
misquote hello world quote.

12

Javascript

if (!!1) // and
  alert('&#10084; &#10084; the world') // and
Burn = $.cache
return 1 > his_parts.the_sum

Se, entre parênteses, segue-se marcas de exclamação

e alertar o mundo entre parênteses após os corações das entidades

cortar, cortar e queimar

é igual a dinheiro, dinheiro, retorno

um é maior que a soma de suas partes


3
Acho que não conheço ninguém que pronuncia "$" como "dinheiro", embora eu admita não escrever JavaScript.
Carl Witthoft

1
+1 Eu gosto da transcrição não literal e "corações de entidade" é meio engraçado, apesar das liberdades de quebra de linha.
Jason C #

8

BASIC

Mais especificamente, Chipmunk Basic . As regras de sintaxe foram esticadas quase até o ponto de interrupção; portanto, pode ser impossível executar isso em outros dialetos sem modificação.

Fonte:

read hi$, u$, q
print hi$ " world how are you
  print "Or as they say
  print u$ q "day
data Hello, How R U, 2

Versão "Leitura em voz alta":

read hi string comma u string comma q
print hi string quote world how are you
  print quote Or as they say
  print u string q quote day
data Hello comma How R U comma 2

Notas:

  • Não há números de linha no código-fonte, mas ele ainda será carregado e executado sem problemas (veja abaixo).
  • O $sigilo é lido como "string" no contexto de programas BASIC (veja, por exemplo, esta página da Wikipedia ).

E aqui está a prova de que realmente funciona:

captura de tela do programa em execução no Mac OS X


Como você fez esse gif?
Kartik

@Kartik eu usei um aplicativo chamado iShowU
ossifrage escrúpulos

6

Bater

Como a resposta é forçada apenas a conter a frase "Hello World", a solução mais fácil deve ser:

echo A rhyming program you write
echo Attempting to win the fight
echo For winning the contest and vote
echo It must compute "Hello World"
echo Then print it very polite

8
Legal dentro das regras, mas essa resposta não é divertida nas festas. meta.codegolf.stackexchange.com/a/1063/3363
Jonathan Van Matre

1
@JonathanVanMatre Isso é um sinal de que o problema está na pergunta. Qualquer coisa diferente do que apenas imprimir diretamente a saída seria suprefluosa. Além disso, a primeira regra "excluída" inibe qualquer coisa mais criativa, até mesmo nomes de variáveis ​​com mais de um caractere e código, é um código-golfe avaliado como competição de popularidade, sendo o pior dos dois.
Victor Stafusa

4
@ Timtech: É votação e citação.
Keba

2
Você pensou em melhorar a questão? / Isso pode ter causado uma impressão melhor. / Embora o estrago esteja feito / Não seria mais divertido / Fazer uma confecção de codificação de limerick real? :)
Jonathan Van Matre

1
@ Victor, "caracteres que poderiam ser removidos com segurança" parece implicar que você não pode usar nomes de variáveis ​​com vários caracteres, exceto onde eles fazem parte de uma rima. Isso é problemático.
Jonathan Van Matre

6

Java

public static void main(String[] boat
){ int i = 1.0f
  ;if(i<2
  )System.out.println
("Hello world");} //hello world wrote


public static void main paren String arr boat
paren brace int i is one-point-oh float
sem-col if paren i is less than two
paren system dot out dot print line new //for some reason it's println, not printnl
paren quote hello world quote paren sem-col brace slash-slash hello world wrote

Observe que os comentários não são realmente opcionais em Java


O bem necessidades "barco" para ser removido ( "aveia' é um nome de variável válido e convulsões)
pppery

6

Rubi

comma = ""<<44
print "Hello" or
more = ""<<32
print comma if true
puts("World!") unless print more

Ao vivo: https://ideone.com/sirBBc

Pronunciado da seguinte forma (com sílabas tônicas maiúsculas)

comma Equals quote-QUOTE cons four-FOUR
print QUOTE hello END quote OR
more equals QUOTE quote cons three-TWO  # ok, that was squished
print COMma if TRUE
puts QUOTE world QUOTE UNless print MORE

O me eem ambos os casos de morenecessidades a ser removido ( oreé uma palavra válida nessa posição também)
pppery

Não acho que posso rimar legalmente orcom um orou outro ore.
Histocrat

Este não seria o único exemplo de um limerick com palavras duplicadas
pppery

4

Haskell

main = print . repeat
  $ head $ lines . init
     $ "Hello \
       \World!" #
         Just where (#) = const . id

Principal é igual a parada impressa repetir
Cabeça do dólar parada completa da linha do dólar i'nnit?
Olá cotação do dólar barra invertida
Voltar slashworld estrondo cotação estrondo
Apenas onde o hash entre parênteses é igual a constante, pare com isso!

Esperamos que isso descreva muito bem o comportamento real do programa.


2

TeX

Peço desculpas antecipadamente, porque esse código não conta como um limeric se você pronunciar os nomes de cada um dos símbolos individuais (especialmente se você tratar cada letra em si mesma como um símbolo, o que talvez você deva). Escrevi desta maneira para produzir a melhor saída possível, que por si só deixa de ser um poema.

Você pode transformá-lo com segurança em uma resposta que cumpra as regras, eliminando \ittodos os caracteres não alfabéticos e não-brancos, exceto o final \bye(leia em voz alta como barra invertida ) e talvez o primeiro !(leia em voz alta como bang ).

A \TeX\ program I think would comply,

And I'll tell you the reason for why:

``Hello world!'' tells the setter:

{\it ``Print each subsequent letter!''}

And we terminate with \bye.

Você deve remover vírgulas e símbolos no final de cada versículo para que eles rimam adequadamente. Ou coloque-os na linha depois.
Mikaël Mayer

@ MikaëlMayer: veja a observação no meu segundo parágrafo.
Niel de Beaudrap

2

Brainf * ck

Ok, me repreenda agora pelas inúmeras violações de regras. Mas não pude deixar de fazer isso.

++++++++[>+++++++++<-
]>.---.$#
+++++++..+
++.++++++++
.--------.+++.------.--------.

E a saída (primeira violação de muitos: sem espaço):

HELLOWORLD

Experimente aqui: http://www.iamcal.com/misc/bf_debug/

A leitura do mesmo:

Eight plus left more nine plus less dash
Right more dot three dash dot cash hash
Sevén plus dot dot plus
Plus plus dot eight plus
Dot eight dash dot three plus dot six dash dot eight dash.
  • Observe que o ponto final no programa é colocado como o período no final do limerick :) [segunda violação; isso é barato]. Também o$ e #são ignorados pelo intérprete (fiquei muito orgulhoso de mim por esta linha).

  • O destaque Sevéné mostrar o estresse: seh-VEN

  • Isso viola a regra de usar símbolos diferentes. Mas, honestamente, tenho um conjunto de símbolos muito limitado e não há espaço para adicionar outros caracteres (ignorados).

  • Usei todas as maiúsculas porque são mais rápidas de acessar em ASCII. Infelizmente, não tinha espaço para um espaço.

Finalmente: sim, eu sei que a última linha é terrível. Alguma sugestão para melhorá-lo? Não tenho certeza se você poderia compactar mais este programa; talvez armazenando cartas repetidas em suas próprias posições?


Acabei de perceber que, embora isso tornasse o código mais longo, desenrolar o loop inicial em 72 +economizaria algum espaço no limerick. Mas vou manter minha resposta como está.
baum

2

C #

Tomei algumas pequenas liberdades com as regras, pois as variantes C verdadeiramente fonéticas envolveriam muito uso de "ponto e vírgula", o que, como todos sabemos, não é uma rima particularmente boa para nada.

{
     string unfurled = "Hello World!";
     Console.WriteLine(unfurled);
}

chave aberta, string chamada unfurled

criado para ler "olá mundo"

linha de gravação do console

a string que definimos

uma chave final, que está enrolada


Você sempre pode colocar ponto e vírgula no início de uma nova linha, não é?
Mikaël Mayer

É verdade, Mikael, mas faz o código parecer muito desarrumado!
BrummiePete

1
Entre desarrumado e rima, aqui o ponto é sobre rima. Não se preocupe, este código não é revisado por pares.
Mikaël Mayer

1

Java

class Hello {public static void main
(String[] args)
{yellow = System; yellow
.out.print("Hello
world");} }

class Hello brace public static void main
paren string bracket bracket args paren
 brace yellow equals system sem-col yellow
 dot out dot print paren quote hello
world quote paren sem-col brace and brace again

1
Isso não compila. Como é yellowdeclarado?
ζ--

1

Lote

@echo off >dull
set /p "=Hello "<nul
set w=World
echo %w%! || Furled
del dull || cull

echo off to dull
set slash p quote igual Olá citação de nul
set w igual World
echo percent w percent bang pipe pipe Enrolado
del maçante pipe pipe tull


Você pode encontrar outra rima sem graça / sem graça?
Mikaël Mayer

@ MikaëlMayer é um código mais inútil, mas sim.
Unclemeat

1

CSS

title>me
,body lets go party
only a stylesheet,html
:after { content: 'hello world'; font-family:Rockwell
; color: #adad20

Saídas:

título maior que eu

vírgula corpo deixa ir festa

somente uma vírgula da folha de estilo html

dois pontos após o conteúdo do colchão citação do cólon olá mundo citação ponto-e-vírgula família de fontes

ponto e vírgula cor dois pontos hashtag um pai vinte

Testado no Firefox e Chrome


1
#include <stdio.h> //
void main (void){
printf("Hello, World");
//just for rhyme I say stolon
} /**/

hash inclui menos que ponto stdio h maior que barra dupla após um espaço

nulo parêntese esquerdo principal nulo parêntese direito parêntese esquerdo

printf parênteses à esquerda citação Olá vírgula Citação do mundo parênteses à direita ponto e vírgula

barra dupla apenas para rima eu digo Stolon

chave direita e duplo asterisco entre barras no último lugar


Bom para as duas primeiras rimas, mas você usa duas vezes o mesmo símbolo para rimar (ponto e vírgula), o que não é permitido.
Mikaël Mayer

Depurado, mas acho que outro bug apareceu.
Nayuta Ito

0

Lote do Windows

As palavras faladas também são salvas no arquivo em lotes e puladas com a última linha do código real.

@echo off >nul
set hi=Hello World
rem Now print the string,
echo !hi!
goto :) to skip the words

at echo off, greater than nul,
set H I equals sign, Hello World,
rem Now print the string,
echo pling, H I, pling
goto smile, to skip the words

:)

Editar: você precisará da expansão atrasada ativada para o script funcionar. Use cmd /v:one execute a partir daí.


1
nul, worldE wordsnão rima. O padrão precisa ser AABBA. Também a vírgula depois stringdeve ser pronunciada.
Unclemeat

0

print 'as teclas da letra no meu teclado'
print 'são suficientes para dizer Hello World
print' quando digito no escuro '
print' sentado aqui no parque '
print ' se sentindo horrivelmente, terrivelmente entediado '


Observe as regras: símbolos como 'são lidos em voz alta e contam como parte do esquema de rima. Bem-vindo ao PPCG!
Jonathan Van Matre

Então tecnicamente funciona. Não diz que não Apode ser B.
CompuChip

0

Python (3)

print('''Nose
No punctuation hear close
Hello World
Hurled and swerled
Goodbye now''')

Imprimir citação aberta citação citação nariz, sem pontuação ouvir perto, Olá mundo, arremessado e swerled, adeus agora citação citação perto.


Bem-vindo ao site e bom primeiro post!
caird coinheringaahing
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.