Tüm codegolf zorluklarından bıktınız. Bu nedenle otomatik olarak sizin için bazı Python kodlarını golf edecek bir program yazmaya karar verirsiniz. 3 test durumu vardır:
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)
Kurallar:
Programınız özel olarak gönderdiğim kodu hedeflememeli ve herhangi bir Python 2 koduyla çalışmalıdır. Codegolfed kaynak kodunu değiştirme hakkını saklı tutarım. Çok satırlı dizeler olmadığını (tam dolu bir ayrıştırıcı oluşturmadınız) ve locals () işlevinin çağrılmadığını varsayabilirsiniz.
Programınızın çıktısı, orijinal kaynak koduyla aynı şekilde çalışmalıdır. (Yani, aynı çıktıyı üretmelidir. Çıktı aynı kaldığı sürece, değişken adları ve dil yapıları değiştirilebilir)
Kaynak kodun giriş / çıkışını yapmak için STDIO veya bir Dosya kullanabilirsiniz.
Puanınız, programınızın çıktısının bayt toplamı olacaktır.
(Yukarıda listelenen kod , GNU Özgür Belgeleme Lisansı 1.2 altında http://rosettacode.org/ adresinden alınmıştır )
if __name__ == '__main__':
bazı bağlamlardaki davranışı etkileyeceğine, diğerlerinde etkilemeyeceğine inanıyorum . Başka bir örnek için, çözülmemiş girdi stdin'den bir int okuduğunu varsayar ve başka bir şey verilirse bir tür istisna atarsa, golfed girdisi tamsayı olmayan bir şekilde verilirse farklı bir istisna atabilir mi?
random_long_variable=0;print locals()
?