Estás harto de todos los desafíos de codegolf. Por lo tanto, decide escribir un programa que automáticamente desarrolle algún código de Python para usted. Hay 3 casos de prueba:
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)
Reglas:
Su programa no debe apuntar al código que publiqué específicamente, y debería funcionar con cualquier código de Python 2. Me reservo el derecho de cambiar el código fuente que está siendo codegolf. Puede suponer que no hay cadenas de varias líneas (por lo que no tiene que crear un analizador completo) y que no se llama a los locales ().
La salida de su programa debe ejecutarse de manera idéntica al código fuente original. (Es decir, debe producir la misma salida. Los nombres de variables y las construcciones de lenguaje se pueden cambiar, siempre que la salida permanezca igual)
Puede usar STDIO o un archivo para hacer su entrada / salida del código fuente.
Su puntaje será la suma de los bytes de la salida de su programa.
(El código mencionado anteriormente se ha tomado de http://rosettacode.org/ bajo la Licencia de Documentación Libre GNU 1.2 )
if __name__ == '__main__':
afectaría el comportamiento en algunos contextos pero no en otros. Para otro ejemplo, si la entrada no oculta supone que lee un int de stdin y lanza un tipo de excepción si se le da algo más, ¿podría la entrada golfed lanzar un tipo diferente de excepción si se le da un número entero?
random_long_variable=0;print locals()
:?