নালী টেপ যে কোনও কিছু ঠিক করতে পারে [বন্ধ]


13

সংক্ষিপ্ত বিবরণ

এই চ্যালেঞ্জটি এই স্ট্যাক ওভারফ্লো মেটা পোস্ট দ্বারা অনুপ্রাণিত হয়েছিল । এতে @ হাক্রে বলেছেন:

আমি সত্যিই স্ট্যাকওভারফ্লো দ্বারা লিখিত একটি প্রকল্প দেখেছি (এসও থেকে এখানে একটি খুব কপি এবং সেখানে এসও), এট্রিবিউট সাধারণত কখনও হয় না যা সিসির অধীনে অধিকারের অবসান ঘটায়। (এসআইসি)

আপনার মিশনটি হ'ল সবচেয়ে আকর্ষণীয় প্রোগ্রামটি তৈরি করা - কোনও কোডের একক লাইন না লিখে can আপনি কেবল কোড ব্যবহার করতে পারেন যা স্ট্যাকওভারফ্লো থেকে প্রশ্ন এবং উত্তর উভয়ই ইতিমধ্যে আপনার জন্য লেখা। আপনি যা করতে পারেন তা হ'ল ড্যাপ টেপ সব মিলিয়ে আপনি পারেন সেরা। এবং অবশ্যই, এটি আমাদের পক্ষে যথাযথ অনুষঙ্গ সরবরাহ করা খুব গুরুত্বপূর্ণ যাতে আমরা আমাদের অধিকারকে শেষ করতে না পারি।


বিধি

  1. আপনি আপনার উত্তরে ব্যবহৃত প্রশ্ন / উত্তরগুলির লিঙ্কগুলি অবশ্যই অন্তর্ভুক্ত করবেন।
  2. নিম্নলিখিত ব্যতিক্রমগুলি সহ আপনি যে কোডটি খুঁজে পেয়েছেন তা আপনি সংশোধন করতে পারবেন না :

    ক। আপনি ভেরিয়েবল, ফাংশন এবং পদ্ধতিগুলির নাম পরিবর্তন করতে পারেন। (এর অর্থ এ নয় আপনি যদি একটি পদ্ধতি পরিবর্তন করতে পারবেন আবাহন পরিবর্তন করে, বলে, scanner.nextInt()যাও scanner.nextLine()এবং দাবি করেন যে আপনি একটি পদ্ধতির নাম পরিবর্তন করছি। পরিবর্তন সংজ্ঞা বা একই সত্তা রেফারেন্স হতে হবে।)

    খ। আপনি উপযুক্তভাবে ইনডেন্টেশন সামঞ্জস্য করতে পারেন।

    গ। আপনি ধরে নিতে পারেন যে কোড স্নিপেটগুলি কাজ করার জন্য উপযুক্ত মডিউলগুলি লোড করা হয়েছে। (উদাহরণস্বরূপ, importজাভা এবং পাইথনের usingবিবৃতি , সি # এবং সি ++ এর বিবৃতি এবং সমস্ত ভাষায় তাদের সমতুল্য) কোড স্নিপেটে যদি আপনার importজন্য অন্তর্ভুক্ত থাকে তবে আপনি সেগুলি কোডের শীর্ষে নিয়ে যেতে পারেন।

    ঘ। যদি ভাষাটির কোড কোনওরকম পদ্ধতিতে কার্যকর করতে কোডের প্রয়োজন হয় (উদাহরণস্বরূপ, public static void main(String[] args)জাভা, static int Main(string[] args)সি # এর জন্য, এবং এই জাতীয়), আপনি উপযুক্ত পদ্ধতিতে আপনার কোডটি মোড়ানো করতে পারেন। তবে সেই মূল পদ্ধতির বিষয়বস্তু অবশ্যই অযৌক্তিকভাবে থাকতে হবে।

  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)

আইনী পরিবর্তন

  • নতুন নামকরন করা fnameথেকে fileলিংক 1 থেকে
  • লিঙ্ক 2 থেকে নতুন নামকরণ bহয়েছেcontent

গুণাবলী

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

8
আমি সত্যিই ধারণাটি পছন্দ করি তবে আমি মনে করি এই প্রশ্নটি কোনও নির্দিষ্ট কার্যের মধ্যে সীমাবদ্ধ রেখে প্রচুর উপকৃত হবে। এটি একটি) আরও সৃজনশীলতা অনুপ্রাণিত করবে কারণ আপনি কেবল কিছু একসাথে অনুলিপি করতে পারবেন না এবং খ) এই (আকর্ষণীয়) প্রকারের প্রশ্নটি পরে কোনও ভিন্ন প্রসঙ্গে পুনরায় ব্যবহার করার সম্ভাবনাটি ছেড়ে যায়। যদি আপনি এটি "যা চান তাই করুন" হিসাবে ছেড়ে দিলে, এর মতো আরও সমস্ত প্রশ্নের সদৃশ হবে। আমি দাঁড়িয়ে থাকতে ভয় পাচ্ছি, আমাকে "খুব বিস্তৃত" হিসাবে ভোট দিতে হবে কারণ এটি ভবিষ্যতের সম্ভাব্য প্রশ্নগুলিকে টর্পেডো করেছে।
মার্টিন ইন্ডার

2
আমার যুক্ত করা উচিত, না আমি এটিকে পরবর্তী কোড-ট্রোলিং হয়ে উঠতে চাই না, যেখানে প্রত্যেকে "নল-টেপ-কোডিং" ট্যাগ সহ "দুটি সংখ্যা যুক্ত করুন", "এই স্ট্রিংটি বিভক্ত করুন" পোস্ট করেন। আমি মনে করি আমরা এর চেয়ে আরও সৃজনশীলতার সাথে এটি পরিচালনা করতে পারি। আমি এই জাতীয় সীমাবদ্ধ উত্স প্রতিযোগিতার অন্যান্য ব্যাখ্যার জন্য কিছু জায়গা রেখে যেতে চাই।
মার্টিন ইন্ডার

1
@ এম.বয়েটনার আমি এও নিশ্চিত নই যে কোডগলফ.এসই প্রয়োজনীয় কারণগুলির সাথে প্রচুর প্রশ্ন থেকে উপকৃত হবে, একই কারণে আপনি উল্লেখ করেছেন: কেন "এসও কোড ব্যবহার করে একটি স্ট্রিং বিভক্ত করেছেন", "1- থেকে একটি এলোমেলো সংখ্যা পাবেন? 100 এসও কোড ব্যবহার করে ", এবং আরও কি? তবে এটাই আমার মতামত। আমি একটি কোডগলফ.এসই প্রো থেকে দূরে। :)
অস্ট্রেলি

3
আমি আপাতত এলোমেলো কাস্টম ট্যাগটি সরিয়ে ফেলছি কারণ এটির প্রয়োজনীয়তা প্রতিষ্ঠিত হয়নি (এবং এটি সম্ভবত অপ্রয়োজনীয় হবে এবং কোনও মূল্য যুক্ত করবে না)।
asteri

1
আমি সম্মত হলাম যে আমাদের পিপিসিজি বন্যার বিষয়ে এই জাতীয় প্রশ্নগুলি নিয়ে যত্নবান হওয়া দরকার, কারণ এটি মজাদার এবং উপন্যাস। তবে আমি মনে করি কয়েকটি আসল ভিন্ন প্রশ্ন আসতে পারে ... যেমন গণিত-ভিত্তিক, গ্রাফিক্স-ভিত্তিক একটি, কোড-গল্ফ স্কোরিং এবং সম্ভবত একটি বহুভুত চ্যালেঞ্জ ব্যবহার করে one সুতরাং, আমি সুযোগটি সীমাবদ্ধ রাখতে পছন্দ করতাম। লোকেরা কেবল চ্যালেঞ্জটি যথেষ্ট পরিমাণে ছাড়াই অনুলিপি করছে, আমি মনে করি যে নতুন চ্যালেঞ্জের ধরণের প্রসঙ্গ এলে "সদৃশ হিসাবে বন্ধ করা" সামান্য কঠোর হওয়া আমাদের সম্প্রদায়ের কর্তব্য।
মার্টিন ইন্ডার

উত্তর:


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
asteri
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.