पृष्ठभूमि
सामान्य रूप से, आपके वेब ब्राउज़र में जावास्क्रिप्ट की सेवा करते समय, मिनिरल्स का उपयोग किया जाता है। यह आमतौर पर बाइट्स की संख्या को कम करने के लिए उपयोग किया जाता है जिन्हें भेजा जाना है। बचत बैंडविड्थ स्पष्ट कारणों के लिए उपयोगी है। कुछ लोग obfuscaters का उपयोग करते हैं (जो जानबूझकर कोड को पढ़ने में कठिन बनाते हैं), मैं उन लोगों के बारे में बात नहीं कर रहा हूं।
हम पायथन 2 को छोटा करेंगे
मैं इस बात पर बहस कर रहा था कि मीनिंगफुल एक्सपीरियंस के लिए जावास्क्रिप्ट या पाइथन का उपयोग करें या नहीं और मैंने दो कारणों से पायथन पर फैसला किया: व्हाइट स्पेस मायने रखता है और मुझे लगता है कि इससे एक दिलचस्प डायनामिक प्रॉब्लम जुड़ेगी। इसके अतिरिक्त, पायथन 2.7 का उपयोग करना एक और गतिशील प्रदान करेगा, जैसे ()
कि एक प्रिंट (यानी print("Hello world")
बनाम print"Hello world"
) के दौरान शानदार को हटा दें । मैं व्यक्तिगत रूप से इसे किसी भी भाषा में खोलना पसंद करूंगा, लेकिन कुछ भाषाओं के लिए यह प्रक्रिया बहुत मायने नहीं रखेगी। और, जिस भाषा को आप छोटा करने का निर्णय लेते हैं, वह सीधे आपके स्कोर को प्रभावित करेगी (और यदि भाषा को छोटा भी किया जा सकता है)।
ऐनक
आपका लक्ष्य केवल इस तरह से कोड को संशोधित करना है जो किसी भी तरह से कार्यक्षमता में बदलाव नहीं करेगा। आप निश्चित रूप से, चर नाम (अपने minizing प्रोग्राम के अंदर) को तब तक बदल सकते हैं, जब तक कि यह आउटपुट को प्रभावित न करे ( गुंजाइश का ध्यान रखें )। हालांकि मैं आपको एक विशिष्ट कार्यक्रम दे रहा हूं, कृपया परीक्षण के मामले में अनुकूलन न करें क्योंकि सभी मानक कमियां निषिद्ध हैं।
स्कोर : कार्यक्रम की लंबाई के बाद आप इसे छोटा करते हैं।
इनपुट : कोई पायथन 2.7 प्रोग्राम (जिसमें कोई त्रुटि नहीं है)
आउटपुट : एक छोटा संस्करण।
यद्यपि आपका कोड सभी वैध पायथन 2.7 इनपुट को समायोजित करने में सक्षम होना चाहिए, लेकिन प्रभावशीलता साबित करने के लिए किसी चीज़ के खिलाफ आपकी स्क्रिप्ट का परीक्षण करना आवश्यक है।
उदाहरण कार्यक्रम देखने के लिए यहां क्लिक करें ।
समस्या को और अधिक स्वीकार्य बनाते हुए
मेरे समाधान के अंदर पाए गए किसी भी कोड का उपयोग करने या संशोधित करने के लिए बेझिझक (सूचीबद्ध bellow)। मैंने यह करने के लिए आपको उद्धरण मूल उद्धरण हैंडलिंग के साथ शुरू किया; हालाँकि, आप इसे इंडेंटेशन और इत्यादि तक बढ़ा सकते हैं।
उदाहरण पायथन को छोटा करने के तरीके
सभी सफेद स्थान को न्यूनतम संभव राशि से बदला जा सकता है (मैं स्वीकार करता हूं कि पायथन में आप टैब के साथ कुछ मुश्किल सामान कर सकते हैं , लेकिन मैं इसे लागू करने या नहीं करने का फैसला करने के लिए आपको छोड़ दूंगा)।
उदाहरण
निम्नलिखित:
def print_a_range(a):
for i in range(a):
print(i)
हो सकता है:
def print_a_range(a):
for i in range(a):
print(i)
तकनीकी रूप से, यदि लूप के अंदर केवल एक ही रेखा है, तो आप इसे और भी अधिक संकुचित कर सकते हैं:
def print_a_range(a):
for i in range(a):print(i) #Note, you can also remove the `()` here.
हालाँकि, एक और तरीका है जिससे आप पाइथन में सफेद स्थान को छोटा कर सकते हैं:
निम्नलिखित:
print ([a * 2 for a in range(20) if a % 2 == 0])
हो सकता है:
print([a*2for a in range(20)if a%2==0])
ध्यान दें, कि 2
और बीच की जगह की कोई आवश्यकता नहीं है for
। चर, कार्य और कीवर्ड एक संख्या के साथ शुरू नहीं हो सकते । तो, पायथन दुभाषिया ठीक है <num><keyword>
, कोई स्थान नहीं है। आप यह भी ध्यान देना चाहिए वहाँ के बीच एक रिक्ति की जरूरत नहीं है )
और if
।
ध्यान दें, आपको प्रोग्राम का आउटपुट नहीं बदलना चाहिए! इसलिए:
print"f(x)=x*2 is a great equation!"
इसके बाद के संस्करण प्रिंट बयान क्योंकि बीच की जगह को हटाने के लिए एक ही रहना चाहिए 2
और is
उत्पादन को संशोधित करेगा।
'1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
में बदल रहा है '1'*100
? व्यवहार वैसा ही करने की आवश्यकता है?