Vous en avez marre de tous les défis du codegolf. Par conséquent, vous décidez d'écrire un programme qui jouera automatiquement du code Python pour vous. Il existe 3 cas de test:
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)
Règles:
Votre programme ne doit pas cibler spécifiquement le code que j'ai publié et doit fonctionner avec n'importe quel code Python 2. Je me réserve le droit de modifier le code source en cours de golf. Vous pouvez supposer qu'il n'y a pas de chaînes multi-lignes (donc vous n'avez pas construit un analyseur complet), et que locals () n'est pas appelé.
La sortie de votre programme doit s'exécuter de la même manière que le code source d'origine. (À savoir, il doit produire la même sortie. Les noms de variables et les constructions de langage peuvent être modifiés, tant que la sortie reste la même)
Vous pouvez utiliser STDIO ou un fichier pour faire votre entrée / sortie du code source.
Votre score sera la somme des octets de la sortie de votre programme.
(Le code ci-dessus provient de http://rosettacode.org/ sous la licence GNU Free Documentation License 1.2 )
if __name__ == '__main__':
affecterait le comportement dans certains contextes mais pas dans d'autres. Pour un autre exemple, si l'entrée non golfée suppose qu'elle lit un entier dans stdin et lève un type d'exception si on lui donne autre chose, l'entrée golfée pourrait-elle lancer un type d'exception différent si on lui donne un non entier?
random_long_variable=0;print locals()
:?