Anda muak dengan semua tantangan codegolf. Karenanya, Anda memutuskan untuk menulis sebuah program yang secara otomatis golf beberapa kode Python untuk Anda. Ada 3 kasus uji:
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)
Aturan:
Program Anda tidak boleh menargetkan kode yang saya poskan secara khusus, dan harus bekerja dengan kode Python 2 apa pun. Saya berhak untuk mengubah kode sumber menjadi codegolfed. Anda dapat berasumsi bahwa tidak ada string multi-line (jadi Anda tidak perlu membuat parser full-blown), dan bahwa penduduk lokal () tidak dipanggil.
Output dari program Anda harus dijalankan dengan cara yang sama dengan kode sumber asli. (Yaitu, itu harus menghasilkan output yang sama. Nama variabel dan konstruksi bahasa dapat diubah, selama output tetap sama)
Anda dapat menggunakan STDIO atau File untuk melakukan input / output kode sumber Anda.
Skor Anda akan menjadi jumlah byte dari output program Anda.
(Kode yang tercantum di atas diambil dari http://rosettacode.org/ di bawah Lisensi Dokumentasi Bebas GNU 1.2 )
if __name__ == '__main__':
akan memengaruhi perilaku dalam beberapa konteks tetapi tidak yang lain. Sebagai contoh lain, jika input yang tidak disatukan mengasumsikan bahwa ia membaca int dari stdin dan melempar satu jenis pengecualian jika diberi sesuatu yang lain, dapatkah input yang golf melemparkan jenis pengecualian yang berbeda jika diberikan non-integer?
random_long_variable=0;print locals()
:?