अजगर ( 128 137 136)
लानत है तुम पर, itertools.permutations इतने लंबे नाम रखने के लिए!
जानवर बल समाधान। मुझे आश्चर्य है कि यह सबसे छोटा नहीं है: लेकिन मुझे लगता हैitertools है कि समाधान को बर्बाद कर देता है।
Ungolfed:
import itertools
initial_set=map(int, input().split())
ans=[]
for length in range(1, len(x)+1):
for subset in itertools.permutations(initial_set, length):
if sum(subset)==0:
ans+=str(sorted(subset))
print set(ans)
गोल्फ (बदसूरत आउटपुट):
from itertools import*
x=map(int,input().split())
print set(`sorted(j)`for a in range(1,len(x)+1)for j in permutations(x,a)if sum(j)==0)
गोल्फ (सुंदर आउटपुट) (183):
from itertools import*
x=map(int,input().split())
print `set(`sorted(j)`[1:-1]for a in range(1,len(x)+1)for j in permutations(x,a)if sum(j)==0)`[5:-2].replace("'","\n").replace(",","")
import itertools as i: itertools मॉड्यूल को आयात करना और इसे कॉल करना i
x=map(int,input().split()): रिक्त स्थान द्वारा इनपुट को अलग करता है, फिर परिणामी सूचियों को पूर्णांक में बदल देता है (2 3 -5 -> [2, 3, -5])
सेट के लिए ( sorted(j)रेंज में (1, len (x) +1) j के लिए i.permutations (x, a) यदि sum (j) == 0):
में सभी सबसेट्स की सूची देता है x, सॉर्ट किया गया, जहाँ योग 0 है, और तब केवल अनन्य आइटम मिलते हैं
( set(...))
आसपास कब्र (`) के sorted(j)लिए अजगर शॉर्टहैंड है repr(sorted(j))। इसका कारण यह है कि पायथन में सेट सूची को संभाल नहीं सकते हैं, इसलिए अगली सबसे अच्छी बात यह है कि पाठ के रूप में एक सूची के साथ तार का उपयोग करें।
3 3 -3 -3?