Você está cansado de todos os desafios do codegolf. Portanto, você decide escrever um programa que irá automaticamente jogar algum código Python para você. Existem 3 casos de teste:
print quickSort([0,7,3,-1,8,10,57,2])
def quickSort(arr):
less = []
pivotList = []
more = []
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
for i in arr:
if i < pivot:
less.append(i)
elif i > pivot:
more.append(i)
else:
pivotList.append(i)
less = quickSort(less)
more = quickSort(more)
return less + pivotList + more
for i in xrange(1, 101):
if i % 15 == 0:
print "FizzBuzz"
elif i % 3 == 0:
print "Fizz"
elif i % 5 == 0:
print "Buzz"
else:
print i
from sys import argv
def randomGenerator(seed=1):
max_int32 = (1 << 31) - 1
seed = seed & max_int32
while True:
seed = (seed * 214013 + 2531011) & max_int32
yield seed >> 16
def deal(seed):
nc = 52
cards = range(nc - 1, -1, -1)
rnd = randomGenerator(seed)
for i, r in zip(range(nc), rnd):
j = (nc - 1) - r % (nc - i)
cards[i], cards[j] = cards[j], cards[i]
return cards
def show(cards):
l = ["A23456789TJQK"[c / 4] + "CDHS"[c % 4] for c in cards]
for i in range(0, len(cards), 8):
print " ", " ".join(l[i : i+8])
if __name__ == '__main__':
seed = int(argv[1]) if len(argv) == 2 else 11982
print "Hand", seed
deck = deal(seed)
show(deck)
Regras:
Seu programa não deve ter como alvo o código que eu postei especificamente e deve funcionar com qualquer código Python 2. Reservo-me o direito de alterar o código-fonte que está sendo codificado. Você pode assumir que não há seqüências de várias linhas (portanto, não é necessário criar um analisador completo) e que locals () não é chamado.
A saída do seu programa deve ser executada de maneira idêntica ao código fonte original. (Ou seja, ele deve produzir a mesma saída. Nomes de variáveis e construções de idioma podem ser alterados, desde que a saída permaneça a mesma)
Você pode usar o STDIO ou um arquivo para fazer sua entrada / saída do código fonte.
Sua pontuação será a soma dos bytes da saída do seu programa.
(O código listado acima foi retirado de http://rosettacode.org/ sob a GNU Free Documentation License 1.2 )
if __name__ == '__main__':
afetaria o comportamento em alguns contextos, mas não em outros. Por outro exemplo, se a entrada não-gasta pressupõe que lê um int a partir de stdin e lança um tipo de exceção se for dada outra coisa, a entrada golfed poderia lançar um tipo diferente de exceção se receber um número inteiro?
random_long_variable=0;print locals()
:?