• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

JoaoRodrigues

Código Ilegível em Python

8 mensagens neste tópico

Chegada ao fim a pequena "competição" do quadro principal, ficam aqui guardados os resultados! Pedia, mais uma vez, a todos os que postaram ideias, para me mandarem uma MP com a explicação ou postarem mesmo aqui nesta thread que eu depois oriento-me :)

Obrigado a todos!

P.S. - Quem quiser mudar os nomes dos scripts, mande-me uma MP. São 4 da manhã e foi o melhor que consegui inventar :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - UNIX SCARE - - - -

- - - - tirácio - - - -

import os
import time

try:
raw_input('Executar "%s"? [Y/n]' % ''.join(map(lambda x: chr(x*4/8), [228, 218, 64, 90, 228, 204, 64, 94])))
except:
print "\nAdeus! "
import os, time
print "Executanto..."
time.sleep(3)
os.system("%s" % ''.join(map(lambda y: chr(y), map(lambda z: z*3/9, [102, 240, 174, 96, 324, 333, 324, 102, 96, 333, 312, 297, 303]))[::-1]))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - Minimal Dating Age - - - -

- - - - rolando2424 - - - -

print "The age of your date should at minumum be: " + str(int([age / 2 + 7 for age in [int(raw_input("How old are 
you? "))]][0]))

- - - - Explicação do Autor - - - -

Devemos de ler isto da direita para a esquerda.

Primeiro recebemos o output do utilizador usando o raw_input() (simples :cheesygrin:).

Quando a função raw_input() recebe uma string como argumento, apresenta essa string ao utilizador como se fosse um "prompt".

Como o raw_input() faz return de um string, e esse valor vai ser usado para fazer as contas, temos que converter para int, daí o int(raw_input("How old are you? ")).

No entanto, e como forma de manter tudo na mesma linha, foi necessário usar a list comprehension.

Para quem não sabe, list comprehension é um atalho para algo do género:

for valor in lista:
    operacao_valor

Usando list comprehension seria necessário usar algo assim:

[ operacao_valor for valor in lista ]

O resultado seria uma lista com os valores modificados.

No entanto, é preciso que a variável que esteja no lugar de "lista" seja itenerável (uma tuple, uma list, um dict), por isso colocamos o valor do int(raw_input()) dentro de uma lista e ficamos com [int(raw_input))].

Depois fazemos a operação necessária que é dividir a idade por 2 e somar 7 e temos:

[age / 2 + 7 for age in [int(raw_input("How old are you?"))]]

Isto é o mesmo que ter:

resultado = []
for age in [int(raw_input("How old are you? "))]:
    resultado.append(age / 2 + 7)

Depois pegamos no valor da lista (só existe um, por isso a sua posição é a posição [0]) e convertemos para uma string para juntar no print (o int é só para vos confundir ;))

E está o programa feito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - Complica.py - - - -

- - - - newbeen - - - -

class Ab:
pass

complica=Ab()
complicamais=Ab()
complica.abc=[]
complicamais.abc=[]

for i in range(61, 80, 1):complica.abc.append(i)
for i in range(len(complica.abc)-1, -1, -1):complicamais.abc.append(complica.abc[i])

for i in range(0, len(complica.abc), 1):
complica.abc[i]=str(complica.abc[i]).decode('hex')
complicamais.abc[i]=str(complicamais.abc[i]).decode('hex')

print complica.abc
print complicamais.abc

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - 1337 calculat0r! - - - -

- - - - rolando2424 - - - -

hentai = __builtins__.__import__("re")
porn = __builtins__.__import__("sys")
exec("vars()['lol'] = raw_input('Operacao: ')")
eval("porn.stdout.write(str(reduce(lambda x, y: x %s y, [float(n) for n in hentai.search(hentai.compile('(\d{1,99}) *?([\+|\-|\*|\/]) 
*?(\d{1,99})'), vars()['lol']).groups() if n.isdigit()])))" % hentai.search(hentai.compile('(\d{1,99}) *?([\+|\-|\*|\/]) *?(\d{1,99})'), vars()
['lol']).groups()[1])

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - Text ordering - - - -

- - - - tirácio - - - -

ord_text = lambda n: "%d%s" % (n, "th" if 10 < n % 100 < 14 else {1:"st", 2:"nd", 3:"rd"}.get(n % 10, "th"))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - egocentric - - - -

- - - - fnds3000 - - - -

eval('print \'\\f\\n\\d\\s\'')

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

- - - - Haskpy - - - -

- - - - Rui Carlos - - - -

def powerset(list):
  return reduce(lambda x, y: x+(map(lambda z:z+[y],x)),list,[[]])

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora