당신은 모든 코드 골프 도전에 빠져 있습니다. 따라서 일부 Python 코드를 자동으로 골프화하는 프로그램을 작성하기로 결정했습니다. 3 가지 테스트 사례가 있습니다.
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)
규칙 :
귀하의 프로그램은 내가 구체적으로 게시 한 코드를 대상으로해서는 안되며 Python 2 코드와 함께 작동해야합니다. 본인은 코드 골프가되는 소스 코드를 변경할 권리가 있습니다. 여러 줄 문자열이 없으므로 완전한 파서를 작성하지 않았으며 locals ()가 호출되지 않았다고 가정 할 수 있습니다.
프로그램의 출력은 원래 소스 코드와 동일한 방식으로 실행되어야합니다. (즉, 동일한 출력을 생성해야합니다. 출력이 동일하게 유지되는 한 변수 이름 및 언어 구성을 변경할 수 있습니다)
STDIO 또는 파일을 사용하여 소스 코드의 입력 / 출력을 수행 할 수 있습니다.
점수는 프로그램 출력의 바이트 합계입니다.
(위에 나열된 코드는 http://rosettacode.org/ 에서 GNU Free Documentation License 1.2 아래에 있습니다. )
if __name__ == '__main__':
가 일부 상황에서는 동작에 영향을 미치지 만 다른 상황에는 영향을 미치지 않는다고 생각합니다. 다른 예를 들어, 골프화되지 않은 입력이 stdin에서 int를 읽고 다른 유형의 예외가 발생하면 한 가지 유형의 예외를 throw한다고 가정하면 골프가 아닌 입력에 정수가 아닌 다른 유형의 예외가 발생할 수 있습니까?
random_long_variable=0;print locals()
어떻습니까?