Vivasoft-logo

Easy Ideas to Get Started Coding PYTHON

python caching

Practice Projects

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

Guess the Number Game

প্রথমে একটি রেন্ডম নাম্বার জেনারেট করবেন , যেটি ইউজার দেখবে না। ইউজার এর কাজ হবে , আপনি যেই নাম্বারটি জেনারেট করছেন তাকে সেটি অনুমান করতে হবে। ধরেন , আপনি সংখ্যাটি জেনারেট করলেন ১০ , ইউজার দিলো ২০ , আপনি তাকে “Too High” এই মেসেজ দিবেন , আবার ইউজার ইনপুট দিলো ৭ , আপনি তাকে “Too Low” এ মেসেজ দিবেন। এভাবে নির্দিষ্ট সংখ্যকবার ইউজার অনুমান করার সুযোগ পাবে , কোনবারে ইউজার যদি , সঠিক সংখ্যাটি অনুমান করতে পারে তাইলে “You Win !” এই মেসেজ দিবেন অথবা কোনবারই যদি অনুমান না করতে পার তাহলে “Game Over! You Loss” এই মেসেজ দিবেন।
গেমের ৩ টি মোড দিতে পারেন ,

(১) সহজ [১০ বার অনুমান করার সুযোগ পাবে ] ,

(২) মধ্যম [৭ বার অনুমান করার সুযোগ পাবে ] এবং

(৩) কঠিন [৩ বার অনুমান করার সুযোগ পাবে ]

*প্রতিবার প্রোগ্রাম চলার সাথে সাথে নতুন নতুন রেন্ডম নাম্বার জেনারেট হবে

Hints : Python Random Module , Conditional Logic , Loop

 

আমরা সকলেই কমবেশ লুডু খেলার সাথে পরিচিত। লুডু খেলায় আমরা একটি ডাইস ব্যবহার করি যা আমাদের ১-৬ মধ্যে যেকোন একটি ভ্যালু দেয় । লুডু ছাড়াও আমরা লায়ার’স ডাইস , ফ্রাকলে ইত্যাদি খেলায়ও ডাইস ব্যবহার করি। এই প্রজেক্টে আমরা দেখব কিভাবে পাইথন দিয়ে একটি ডাইস রোল করে তার আউটপুট জেনারেট করা যায় । এই প্রজেক্টটি ব্যবহারকারীর কাছ থেকে ইনপুট (হ্যাঁ / না) নেয়। যদি ইনপুট হ্যাঁ হয় তবে ডাইসটি রোল করা হয় এবং ডাইস থেকে আউটপুট হিসাবে একটি নম্বর দেখানো হয় । অন্যথায় কোন নাম্বার দেখানো হয় না। । সাধারণত ডাইস 1-6 (অন্তর্ভুক্ত) পর্যন্ত সংখ্যা ধারণ করে। কিন্তু এই প্রজেক্টে জন্য আপনি আপনার নিজের ডিজাইন করা ডাইস ব্যবহার করতে পারেন.

Hints: Conditional LogicLoop

ওয়েব স্ক্রেপিং এর মূল ধারণা হল একটি ওয়েবসাইট থেকে ডেটা এক্সট্রাক্ট করে নিয়ে আসা। ডেটা হতে পারে ছবি, ইউ-আর-এল লিংক , ভিডিও কিংবা প্লেইন টেক্সট ।আপনার কাজ হল https://www.daraz.com.bar/mens-watches/ থেকে সমস্ত ছবি স্ক্র্যাপ করার জন্য একটি স্ক্রিপ্ট লেখা এবং একটি ডিরেক্টরিতে সেভ করা।

Hints : Requests Module , Beautiful Soup Library

এই প্রজেক্টটি আপনারা একটি ফাইল বেস্ড কন্টাক্ট মেনেজমেন্ট সিস্টেম তৈরি করবেন যেটিতে প্রথমে, আপনাকে সাইন আপ করতে হবে, তারপর সেই ক্রেডেনশিয়াল দিয়ে সাইন-ইন করতে হবে। তারপর, আপনি যখন লগ ইন করেন, তখন আপনি আপনার কন্টাক্ট ডাটা আপডেট করতে পারবেন। আপনি প্রেজক্টটিতে একটি GUI যোগ করলে বোনাস পেতে পারেন।

Hints: File Handling

সুডোকু খেলায় প্রত্যেকটি Column (লম্বালম্বি) ও প্রতিটি Row (আড়াআড়ি) তে যে ৯টি করে ঘর আছে সেগুলোতে ১-৯ পর্যন্ত সংখ্যাগুলো ঠিক ১বার করে বসাতে হবে। কোনটি ১বারের বেশী ব্যবহার করা যাবে না।

সুডোকু খেলায় প্রত্যেকটি ছোটবর্গের ৯টি ঘরেও ১-৯ পর্যন্ত সংখ্যাগুলো ঠিক ১বার করে বসাতে হবে। কোনটি ১বারের বেশী ব্যবহার করা যাবে না।

একটি ফাংশন ব্যবহার করে সিস্টেম একটি রেন্ডম স্ট্রিং জেনারেট করবে। রেন্ডম স্ট্রিং টি দেখে একজন খেলোয়াড় কে হুবুহু স্ট্রিং টি টাইপ করতে হবে নির্দিষ্ট সময়ের মধ্যে। যদি খেলোয়াড় বেঁধে দেওয়া সময়ের মধ্যে স্ট্রিং টি লিখতে পারেন এবং জমা দিতে পারেন তাহলে তিনি ১ পয়েন্ট পাবেন এবং সাথে সাথে পরবর্তী স্ট্রিং টি জেনারেট হয়ে যাবে। এবং নতুন স্ট্রিং এর জন্য সময় গণনা শুরু হয়ে যাবে। যদি খেলোয়াড় সময়ের মধ্যে জেনারেটেড স্ট্রিং টি জমা দিতে না পারেন তাহলে গেইমটি শেষ হয়ে যাবে এবং শেষ পর্যন্ত যত পয়েন্ট পেলেন তা দিয়ে একটি ম্যাসেজ প্রদর্শন করতে হবে।
গেইম টিকে একটু মজার করে তুলার জন্য এতে বিভিন্ন মোড সংজোযন করতে পারেন। যেমন:
“সহজ” মোডের জন্য:
১. উত্পন্ন স্ট্রিং এর দৈর্ঘ্য ১০ অক্ষরের হবে।
২. সময় হবে ১৫ সেকেন্ডস।

“মাঝারি” মোডের জন্য:
১. উৎপন্ন স্ট্রিং এর দৈর্ঘ্য ১৫ অক্ষরের হবে।
২. সময় হবে ১০ সেকেন্ডস।

“কঠিন” মোডের জন্য:
১. উৎপন্ন স্ট্রিং এর দৈর্ঘ্য ২০ অক্ষরের হবে।
২. সময় হবে ১০ সেকেন্ডস।

Hints: Python Random ModulePython Time Module , StringPython OOP

১. এই গেইমটি নির্দিষ্ট একটি রেঞ্জের যেকোন সংখ্যক সদস্য খেলতে পারেন (২<=সদস্যদের সংখ্যা<=১০)।
২. সদস্যরা একের পর এক শব্দ অনুমান করবেন এবং এই প্রক্রিয়াটি বৃত্তাকারভাবে চলতে থাকবে।
৩. যদি প্রথম সদস্য একটি বৈধ শব্দ অনুমান করে গেইমটি শুরু করেন। দ্বিতীয় সদস্যকে অবশ্যই পূর্ববর্তী সদস্য দ্বারা অনুমান করা শব্দের শেষ অক্ষর (নতুন শব্দের শুরুতে) সহ একটি বৈধ শব্দ অনুমান করতে হবে।
৪. যেকোন সদস্যের দ্বারা কোন শব্দ অনুমান করার পরে, গেইমের সমস্ত সদস্য (বাদ পড়া সকল সদস্য সহ) এই শব্দটি বৈধ কিনা তা ভোটের মাধ্যমে নিরুপণ করবেন। যদি অনুমান করা শব্দটি অধিকাংশ বৈধ ভোট পায়, তাহলে যে সদস্য শব্দটি অনুমান করেছেন তিনি নিরাপদ থাকবেন এবং গেইমে টিকে থাকবেন।
কোন সদস্য এর গেইম থেকে বাদ পড়ার মানদণ্ড: যদি কোনও সদস্য একটি বৈধ শব্দ অনুমান করতে ব্যর্থ হোন (সেক্ষেত্রে তিনি “পাস” টাইপ করবেন) বা অনুমান করা শব্দটি যদি ভোটে হেরে যায় তবে উক্ত সদস্য গেইম থেকে বাদ পড়ে যাবেন।
৫. যদি একজন সদস্য গেইম থেকে বাদ পড়ে যান, তাহলে পরবর্তী সদস্য একটি নতুন শব্দ অনুমান করে গেমটি চালিয়ে যাবেন। তাকে শেষ অক্ষরকে শব্দের মানদণ্ড হিসেবে
অনুসরণ করতে হবে না।
৬. সর্বশেষ পর্যন্ত টিকে থাকা ব্যক্তি গেইমের চ্যাম্পিয়ন হবেন।

প্রথমে আপনাকে ইনপুট করতে হবে সদস্যদের সংখ্যা যারা গেইমটি খেলবেন এবং প্রতিটি সদস্যকে একটি নম্বর বা নাম বা যেকোনো ধরনের অনন্য কী দিয়ে চিহ্নিত করুন। তারপর গেইমটির প্রক্রিয়া কোড করতে গেইমের নিয়ম অনুসরণ করুন। কোডিং করার সময় আপনাকে প্রয়োজনীয়, ক্লাস, পদ্ধতি এবং OOP ধারণা ব্যবহার করতে হবে। আপনাকে বিজয়ীর নম্বর/নাম/অন্যান্য অনন্য কী উল্লেখ করে একটি অভিনন্দন বার্তা দিতে হবে।

Hints: LoopConditional LogicPython OOP

এই প্রজেক্টটিতে আপনাকে একটি বিএমআই ক্যালকুলেটর তৈরি করতে হবে। বিএমআই বা বডি মাস ইনডেক্স একজন ব্যক্তির উচ্চতা এবং ওজন ব্যবহার করে নির্ণয় করা হয় । বিএমআই এর সূত্রটি হল BMI = kg/m^2 যেখানে kg হল একজন ব্যক্তির ওজন কিলোগ্রামে এবং m^2 হল মিটার বর্গক্ষেত্রে ওই ব্যক্তির উচ্চতা। বিএমআই এর স্বাস্থ্যকর মান সাধারণত 18.5 থেকে 24.9 এর মধ্যে হয়ে থাকে। বিএমআই (BMI) 18-65 বছর বয়সী বেশিরভাগ প্রাপ্তবয়স্কদের জন্য প্রযোজ্য।

Hints: Data TypesOperator