colors.rgb ("blue") produz "# 0000FF". colors.rgb ("azul amarelado") produz NaN. colors.sort () produz "arco-íris"
Usando as regras definidas na imagem e seu texto de título (citado aqui), crie um programa que aceite toda a entrada fornecida e exiba a saída apropriada.
A entrada pode ser feita com stdin ou equivalente mais próximo. Deve haver uma linha
[n]>
na qual digitar en
aumenta em 1 cada comando. Deve começar em 1.O resultado deve ser exibido usando stdout ou equivalente mais próximo. Deve haver um
=>
em cada linha de saída.
Todas as 13 condições, mais as 3 no título (citadas), devem funcionar.
Isso é código de golfe, então a resposta mais curta vence.
10.5
?n
aumentar em 1? Isso não é o que os quadrinhos fazem ... ;-) #Respostas:
Python 3,
700 698 697 689 683 639611Guias como recuo.
Como isso usa um Except, exceto que você não pode pressionar Ctrl-C. Ctrl-Z e matar %% funcionam embora
Algumas das condições são generalizadas e outras funcionarão apenas com a entrada exata.
A+"B"
funcionará com qualquer A e B, não apenas quandoA == B
"A"+[]
funcionará para qualquer A que possa ser convertido em um int (inclui cadeias hexadecimais e binárias, por exemplo, 0xff e 0b01010)(A/0)
funcionará para quaisquer causas A, EvalDivideByZeroError
tratadas na exceção(A/0)+B
funcionará com qualquer A ou B.literal_eval
(E) gera um erro.""+""
só funciona para o sinal +. Qualquer outra coisa imprimirá NaN, NaP ou NaN.00 ...[A, B, C]+D
funciona verificando seD == C+1
isso funcionará para qualquer tamanho de lista e qualquer número.2/(2-(3/2+1/2))
, Qualquer coisa que não consiga analisar-
com um+
consiga algum lugar depois da saída NaN.000 ... 13RANGE(" ")
Codificado+A
funcionará para qualquer A. Ouputs"current_line_number+A"
A+A
funciona para qualquer A, desde que sejam iguais e sejam do tipo bulitin pythonRANGE(1,5)
Codificado.FLOOR(A)
funciona para qualquer A.colors.rgb("blue")
O lstrip em eval transforma isso emgb("blue")
que tem uma resposta codificada.colors.rgb("yellowish blue")
O lstrip em eval transforma isso emgb("yellowish blue")
que tentativas de usar uma variável inexistente sey
está presente no argumento causando um erro que o exceto se transforma em NaNcolors.sort()
O lstrip transforma isso emt()
que tem uma resposta codificada.Brainsteel apontou um erro na minha suposição para a regra 10.
fonte
RANGE(" ")
é um intervalo de caracteres, do caractere de aspas duplas \ x22 ao caractere de espaço \ x20 e vice-versa.2
para4
a linha 11, é agora 2 4 e 12 é agora 14. Isto também se aplica para os números de linha.Python, 1110 bytes
Sobrecarga de operador não é ruim, certo?
Meu objetivo não era tanto ganhar (obviamente), mas torná-lo o mais genérico possível. Muito pouco é codificado. Tente coisas assim
RANGE(10)
,9*1
eRANGE("A")
,(2/0)+14
e,"123"
para os resultados divertidos!Aqui está uma sessão de amostra:
fonte
C, 412 bytes
Isso é basicamente codificado, mas todas as outras respostas até agora estavam faltando alguma coisa ...
Saída:
fonte
Python 3, 298
Tudo é codificado permanentemente, mas a entrada é transformada em um número que é convertido em uma sequência e pesquisada em uma sequência grande que contém todos esses números seguidos por suas respostas.
fonte
Python 3,
542484 bytesComo não houve menção a códigos absolutos absolutos, aqui está minha solução.
fonte
"2+\"2\""
torna-se'2+"2"'
. A contagem de importação também pode ser removida se você adicionar uma variável de contador.