डक्ट टेप कुछ भी ठीक कर सकता है [बंद]


13

अवलोकन

यह चुनौती इस StackOverflow मेटा पोस्ट से प्रेरित थी । इसमें @ ठाकरे कहते हैं:

मैंने वास्तव में Stackoverflow द्वारा लिखी गई एक परियोजना देखी है (एसओ से एक noob प्रतियां यहाँ और एसओ वहाँ से), रोपण सामान्य रूप से कभी नहीं किया जाता है जिसके परिणामस्वरूप CC के तहत अधिकार समाप्ति होती है। (sic)

आपका मिशन आपके लिए सबसे दिलचस्प कार्यक्रम बनाना है - कभी भी कोड की एक पंक्ति लिखे बिना। आप केवल उस कोड का उपयोग कर सकते हैं जो आपके लिए पहले से ही लिखा गया है, StackOverflow से प्रश्न और उत्तर दोनों में। तुम सब कर सकते हैं डक्ट टेप यह सब एक साथ सबसे अच्छा आप कर सकते हैं। और हां, यह बहुत महत्वपूर्ण है कि हम उचित अधिकार प्रदान करें ताकि हम अपने अधिकारों को समाप्त न करें।


नियम

  1. आपको अपने उत्तर में उपयोग किए गए प्रश्नों / उत्तरों के लिंक शामिल करने होंगे।
  2. आप निम्न अपवादों के साथ, आपके द्वारा पाए गए कोड को संशोधित नहीं कर सकते हैं:

    ए। आप चर, कार्यों और विधियों का नाम बदल सकते हैं। (इसका अर्थ यह नहीं कि आप एक विधि को बदल सकते मंगलाचरण बदलकर, का कहना है कि scanner.nextInt()करने के लिए scanner.nextLine()और यह दावा करते हुए कि आप एक विधि नाम बदल रहे हैं। परिवर्तन परिभाषा या एक ही इकाई के संदर्भ में किया जाना चाहिए।)

    ख। आप इंडेंटेशन को उचित रूप से समायोजित कर सकते हैं।

    सी। आप मान सकते हैं कि काम करने के लिए कोड स्निपेट्स के लिए उचित मॉड्यूल लोड किए गए हैं। (उदाहरण के लिए, importजावा और पायथन के usingकथन, C # और C ++ के स्टेटमेंट और सभी भाषाओं में उनके समतुल्य) यदि कोड स्निपेट में आपके लिए imports शामिल है , तो आप उन्हें कोड के शीर्ष पर ले जा सकते हैं।

    घ। यदि भाषा को निष्पादित करने के लिए कोड को किसी प्रकार की विधि निकाय में होना आवश्यक है (उदाहरण के लिए, public static void main(String[] args)जावा के लिए, static int Main(string[] args)C #, और इसी तरह), तो आप अपने कोड को उपयुक्त विधि में लपेट सकते हैं। लेकिन उस मुख्य विधि की सामग्री को अनमॉडिफाइड रहना चाहिए।

  3. आपको प्रदर्शन किए गए किसी भी चर / विधि / फ़ंक्शन / वर्ग का नाम बदलने की स्पष्ट सूची प्रदान करनी चाहिए।

  4. आप स्निपेट के स्निपेट नहीं ले सकते हैं (यदि आप किसी पोस्ट से कोड ब्लॉक लेते हैं, तो आप पूरी बात लेते हैं)
  5. उन लोगों के लिए कोड का एक संक्षिप्त विवरण प्रदान करें जो आपके द्वारा उपयोग की जा रही भाषा के साथ अंतरंग नहीं हैं।
  6. लोकप्रियता की लड़ाई, इसलिए सबसे अधिक जीत जीत!

बोरिंग फाइव मिनट का उदाहरण (पायथन 3)

विवरण : वर्तमान निर्देशिका से लॉग फ़ाइलों का एक गुच्छा पढ़ता है और उनमें लाइनों को यादृच्छिक बनाता है (रोमांचक, सही? यह पूरी तरह से एक लोकप्रियता जीत जाएगा)

स्रोत

import glob
import random

for file in glob.glob('log-*-*.txt'):
    # Etc.
    with open(file) as f:
        content = f.readlines()
        # shuffle the list in place 
        random.shuffle(content)

        # print it
        print(content)

कानूनी संशोधन

  • लिंक 1 से नाम fnameदिया fileगया
  • लिंक 2 से नाम bदिया contentगया

विशेषताएं

  1. /programming//a/3277516/1435657
  2. /programming//a/16737991/1435657
  3. /programming//a/4918520/1435657

8
मुझे वास्तव में यह विचार पसंद है, लेकिन मुझे लगता है कि यह सवाल किसी विशेष कार्य के लिए गुंजाइश को सीमित करने से काफी लाभ होगा। यह क) अधिक रचनात्मकता को प्रेरित करेगा क्योंकि आप अभी कुछ भी एक साथ कॉपी नहीं कर सकते हैं और बी) यह इस (दिलचस्प) प्रकार के प्रश्न को बाद में एक अलग संदर्भ में पुन: उपयोग करने की संभावना को खोल देगा। यदि आप इसे केवल "जो भी आप चाहते हैं" के रूप में छोड़ देते हैं, तो इस तरह के आगे के सभी प्रश्न डुप्लिकेट होंगे। मुझे डर है क्योंकि यह खड़ा है, मुझे "बहुत व्यापक" के रूप में मतदान करना है क्योंकि यह संभवतः भविष्य के दिलचस्प सवालों को टारपीडो करता है।
मार्टिन एंडर

2
मुझे जोड़ना चाहिए, नहीं, मैं नहीं चाहता कि यह अगला कोड-ट्रोलिंग बने, जहां हर कोई "डक्ट-टेप-कोडिंग" टैग के साथ "दो नंबर जोड़ें", "इस स्ट्रिंग को विभाजित करें"। मुझे लगता है कि हम इससे ज्यादा रचनात्मक तरीके से निपट सकते हैं। मैं इस तरह के प्रतिबंधित-स्रोत प्रतियोगिता की अन्य व्याख्याओं के लिए कुछ जगह छोड़ना चाहूंगा।
मार्टिन एंडर

1
@ m.buettner मुझे यह भी यकीन नहीं है कि CodeGolf.SE आवश्यक रूप से इस तरह के बहुत सारे प्रश्नों से लाभ उठाएगा, उन्हीं कारणों के लिए: आपने "SO कोड का उपयोग करके एक स्ट्रिंग को विभाजित क्यों किया है", 1- से एक यादृच्छिक संख्या प्राप्त करें। 100 एसओ कोड का उपयोग करके ", और इसके आगे? लेकिन यह महज मेरी राय है। मैं एक CodeGolf.SE समर्थक से बहुत दूर हूं। :)
एस्टेरि

3
मैं अब के लिए यादृच्छिक कस्टम टैग को हटाने जा रहा हूं क्योंकि इसकी आवश्यकता स्थापित नहीं की गई है (और यह बहुत ही अनावश्यक होगा और कोई मूल्य नहीं जोड़ेगा)।
ऐस्टरि

1
मैं मानता हूं कि पीपीसीजी को बाढ़ से सावधानी बरतने की जरूरत है, क्योंकि यह मजेदार और उपन्यास है। लेकिन मुझे लगता है कि कुछ अलग-अलग सवाल इस पर आ सकते हैं ... जैसे मैथ्स-आधारित, ग्राफिक्स-आधारित, कोड-गोल्फ स्कोरिंग और पॉलीग्लॉट चुनौती का उपयोग करने वाला हो सकता है। इसलिए, मैं इस दायरे को सीमित करना पसंद करूंगा। लोगों के संदर्भ में, बिना किसी पर्याप्त चुनौती के नकल करना, मुझे लगता है कि नए चैलेंज प्रकारों की बात आने पर "डुप्लिकेट के रूप में बंद करना" में थोड़ा सख्त होना समुदाय का कर्तव्य है।
मार्टिन एंडर

जवाबों:


8

सी - एक ऑपरेशन कैलकुलेटर

चलो यह एक शुरुआत के लिए है।
यह वास्तव में सी कार्यक्रमों के टुकड़े ढूंढना काफी कठिन है जो पूरे कार्यक्रम नहीं हैं। मुझे घोषणाओं से सबसे अधिक परेशानी हुई।

// http://stackoverflow.com/a/2911978 Block #1 (changed i to a)
static int a = 10;
// http://stackoverflow.com/a/2911978 Block #1 (changed i to b)
static int b = 10;
// http://stackoverflow.com/a/442647 Block #1 (changed c to op)
unsigned char op = (unsigned char)-1;
// http://stackoverflow.com/q/3711048 Inline block #1
int main()
// http://stackoverflow.com/a/14902422 Inline block #1
{
// http://stackoverflow.com/q/217074 Inline block #2 (changed i to a)
scanf("%d", &a)
// http://stackoverflow.com/a/23353870 Inline block #2
;
// http://stackoverflow.com/q/217074 Block #2 (changed c to op)
scanf("%c", &op)
// http://stackoverflow.com/a/23353870 Inline block #2
;
// http://stackoverflow.com/q/217074 Inline block #2 (changed i to b)
scanf("%d", &b)
// http://stackoverflow.com/a/23353870 Inline block #2
;
// http://stackoverflow.com/a/4173188 Block #2
int result = 0;
result = (op == '*') ? a * b : result;
result = (op == '/') ? a / b : result;
result = (op == '+') ? a + b : result;
result = (op == '-') ? a - b : result;
printf("%d",result);
// http://stackoverflow.com/a/3245525 Block #2
printf("\n");  /* prints newline */
// http://stackoverflow.com/q/4138649 Inline block #1
return 0;
// http://stackoverflow.com/a/14902422 Inline block #2
}

स्टड पर 3+151या जैसे एक सरल अभिन्न ऑपरेशन लेता है 41/2और परिणाम को स्टडआउट के लिए आउटपुट करता है।


1
एक ही कोड ब्लॉक का दिलचस्प फिर से उपयोग और दो बार चर का नाम बदलना। मैंने ऐसा सोचा भी नहीं था! +1
एस्टरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.