ট্র্যাক
/
Python
Python
/
অনুশীলনী
/
কিংডারগার্টেন বাগান
কিংডারগার্টেন বাগান

কিংডারগার্টেন বাগান

সহজ

ভূমিকা

কিন্ডারগার্টেনের ক্লাসে শিশুরা গাছ জন্মানো সম্পর্কে শিখছে। শিক্ষক ভাবলেন, মাটিতে লাগিয়ে গাছ বড় করার জন্য ক্লাসের শিশুদের বীজ দিলে ভালো হবে। এই উদ্দেশ্যে শিশুরা জানালার সিল বরাবর ছোট ছোট কাপ রেখেছে এবং প্রতিটি কাপে এক ধরনের গাছ লাগিয়েছে। চার ধরনের বীজের মধ্যে থেকে শিশুরা নিজেদের পছন্দেরটি বেছে নিতে পেরেছে: grass, clover, radishes, and violets.

নির্দেশনা

আপনার কাজ হলো, একটি ডায়াগ্রাম দেখে নির্ধারণ করা কিন্ডারগার্টেন ক্লাসের প্রতিটি শিশু কোন গাছের দায়িত্বে আছে।

ক্লাসে ১২ জন শিশু আছে:

  • Alice, Bob, Charlie, David, Eve, Fred, Ginny, Harriet, Ileana, Joseph, Kincaid এবং Larry।

চার ধরনের বীজ রোপণ করা হয়:

গাছ ডায়াগ্রামে এনকোডিং
Grass G
Clover C
Radish R
Violet V

প্রতিটি শিশু চারটি কাপ পায়, প্রতি সারিতে দুটি:

[window][window][window]
........................ # each dot represents a cup
........................

তাদের শিক্ষক শিশুদের নামের বর্ণানুক্রমে কাপ বরাদ্দ করেন, অর্থাৎ Alice প্রথমে এবং Larry সবার শেষে আসে।

Alice-এর গাছগুলো দেখানো একটি উদাহরণ ডায়াগ্রাম এখানে:

[window][window][window]
VR......................
RG......................

প্রথম সারিতে, জানালার সবচেয়ে কাছে, তার একটি violet ও একটি radish আছে। দ্বিতীয় সারিতে তার একটি radish ও কিছু grass আছে।

আপনার প্রোগ্রামকে জানালার সবচেয়ে কাছের সারি থেকে শুরু করে বাম থেকে ডানে গাছগুলো দেওয়া হবে। এটি থেকে, কোন গাছ কোন শিক্ষার্থীর তা নির্ধারণ করতে পারবে।

উদাহরণস্বরূপ, যদি বলা হয় বাগানটি এমন দেখতে:

[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV

তাহলে Alice-এর গাছ চাওয়া হলে, এটি দেবে:

  • Violets, radishes, violets, radishes

আর Bob-এর গাছ চাইলে পাওয়া যাবে:

  • Clover, grass, clover, clover

Python ট্র্যাকে এই অনুশীলনীটি কীভাবে সাজানো হয়েছে

এই অনুশীলনীর টেস্টগুলো আশা করে যে আপনার প্রোগ্রামটি একটি Garden class হিসেবে ইমপ্লিমেন্ট করা হবে (আরও দেখুন classes)। Python-এ ক্লাস সম্পর্কে আপনি যদি না জানেন, তবে Real Python-এর এই টিউটোরিয়ালটি শুরু করার আরেকটি ভালো জায়গা হতে পারে।

আপনার class-এ plants নামের একটি method থাকা উচিত, যা আর্গুমেন্ট হিসেবে একজন শিক্ষার্থীর নাম নেয় এবং সেই শিক্ষার্থীর গাছের নামের list রিটার্ন করে।

কনস্ট্রাক্টর

উদাহরণের বাগানটি তৈরি করা:

[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV

টেস্টে এটিকে এভাবে দেখানো হবে: Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV").

এই রূপটি কাজ করতে হলে আপনার class-এ একটি __init__() স্পেশাল মেথড ইমপ্লিমেন্ট করতে হবে। আপনি যদি __init__() বা কনস্ট্রাক্টর সম্পর্কে জানা না থাকেন, তাহলে Python ডকুমেন্টেশনের ক্লাস ও ইনস্ট্যান্স অবজেক্ট অংশটি আরও বিস্তারিত ব্যাখ্যা দেয়।

ডিফল্ট প্যারামিটার

কিছু টেস্টে __init__()-এ আর্গুমেন্ট হিসেবে শিক্ষার্থীদের একটি list পাঠানো হয়। এটি সমস্যা বিবৃতিতে দেওয়া বারোজন শিক্ষার্থীর তালিকাটি ওভাররাইড করা উচিত। এই দুটি স্টেটমেন্টই আপনার __init__() মেথডের সাথে কাজ করা দরকার:

# Make a garden based on the default 12-student roster.
Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV") 

# Make a garden based on a 2-student roster.
Garden("VRCC\nVCGG", students=["Valorie", "Raven"]) 

একটি উপায় হলো শিক্ষার্থীদের list-টিকে ডিফল্ট আর্গুমেন্ট বানানো; Python ডকুমেন্টেশনে ফাংশন ডিফিনিশন ব্যাখ্যা করার সঙ্গে সঙ্গে default parameters নিয়েও বিস্তারিত আলোচনা করা হয়েছে।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Python Exercism

কিংডারগার্টেন বাগান শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Python ট্র্যাকের 17টি কনসেপ্ট146টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।