যাক শেষ অবধি পৌছাতে পারলাম তা হলে!!
আমার ধৈর্য বেশ কম। তাই, ভেবেছিলাম পোস্ট লেখার মত ধৈর্য হয়ত থাকবে না। তবুও, প্রায় শেষের দিকে চলে শেষেছি।
আজকে আমি একটা প্রব্লেম নিয়ে আলোচনা করব।
খুব সহজ এবং সাধারণ প্রব্লেম। এমনিতেই পেরে যাবেন তবুও আলোচনা করব।
সমস্যা ১ ঃ- Vowel or Consonant
সমস্যা ব্যখ্যা ঃ-
বুঝতেই পারছেন নাম দেখে। এমন একটা প্রোগ্রাম বানাতে হবে যেটা একটা অক্ষর ইনপুট নিবে এবং বলে দিবে সেটা Vowel নাকি Consonant। যদি কোন অক্ষর না হয় তাহলে প্রিন্ট বলবে ‘Wrong Input’
যদি পারবেন বলে মনে হয় তাহলে নিজে নিজে চেষ্টা করুন।
সমস্যা সমাধানের বিশ্লেষণঃ-
প্রথমেই দেখে নিতে হবে কয়টা ধাপে প্রোগ্রাম লেখা যায়।
ধাপ-১ ঃ- ইনপুট নিতে হবে।
ধাপ-২ ঃ- একটা ভ্যারিয়েবলে স্ট্রিং রাখতে হবে। স্ট্রিং টা হবে ‘aeiou‘।
এরকম দেয়ার কারণ এখানে vowel রেখেছি।
ধাপ-৩ ঃ- এবার ওই ইনপুট কে আমরা ছোট হাতের অক্ষরে পরিবর্তন করে নেব।
যদি বড় হাতের অক্ষর থাকে তাহলে ছোট হাতের হবে আর ছোট হাতের থাকলে তো হয়েই গেল।
ধাপ-৪ ঃ- কন্ডিশন দিয়ে চেক করতে হবে যে এটা লেটার কিনা। সেজন্য চেক করবো ইনপুট কি ‘a’ থেকে ‘z‘ এর মধ্যে আছে কিনা।
যদি না থাকে তাহলে প্রিন্ট দেবে ‘Wrong Input‘। আর যদি থেকে থাকে তাহলে আবার চেক করবে যে এটা ওই স্ট্রিং এর মাঝে আছে কিনা অর্থাৎ vowel কিনা।
যদি vowel হয় তাহলে প্রিন্ট দেবে ‘Vowel‘ আর যদি না ওই স্ট্রিং এ না থাকে তাহলে প্রিন্ট দেবে ‘Consonant‘
বুঝতে পেরেছেন বোধ হয়!
তবে, এখানে আমি একটা নতুন জিনিস শিখিয়ে দেবো আগে। সেটা হল নেস্টেড ইফ-এলস-কন্ডিশন।
এই কনসেপ্ট টা কন্ডিশিনাল পর্বে দেয়ার কথা থাকলেও দেয়া হয় নি। কারন, আপনাদের তখন কঠিন মনে হতে পারে।
তবে, সমস্যা নেই এখন দেখিয়ে দিচ্ছি।
তবে, তার আগে ওই সমস্যার সমাধান করে নেব। চলুন।
# ধাপ ১ এ বলা আছে একটা ইনপুট নিতে হবে। তাহলে, নিয়ে নেয়া যাক।
letter = input()
আমরা letter ভ্যারিয়েবল এর মাঝে ইনপুট নিয়ে নিলাম। এবারে
# ধাপ ২ এ বলা আছে একটা ভ্যারিয়েবলে স্ট্রিং ‘aeiou‘ রাখতে হবে।
vowel_string = 'aeiou'
এখন রাখার পরে
# ধাপ ৩ এ বলা হয়েছে ইনপুট কে ছোট হাতের অক্ষরে পরিবর্তন করব।
letter = letter.lower()
letter ভ্যারিয়েবল এর মধ্যে ওই letter কেই আবার ছোট হাতের অক্ষরে পরিবর্তন করে রেখে দিয়েছি।
এবারে ধাপ ৪ এর মত করে চেক করব।
if letter >= 'a' and letter <= 'z': if letter in vowel_string: print('Vowel') else: print('Consonant') else: print('Wrong Input')
বেশ বড় হয়ে গেল এবার বলি। প্রথমে কন্ডিশন দিয়েছি letter ভ্যারিয়েবল ‘a‘ থেকে বড় অথবা সমান হতে হবে।
এবং ‘z‘ থেকে ছোট অথবা সমান হতে হবে। এই কন্ডিশন দিয়ে চেক করেছি এটা লেটার কিনা।
যদি এই কন্ডিশন মিথ্যা হয় তাহলে একদম লাস্ট এ দেয়া else এর কাজ হবে। অর্থাৎ, Wrong Input প্রিন্ট হবে।
এখন দ্বিতীয় লাইনে বলেছি if letter in vowel_string এখন প্রথম কন্ডিশন সত্য হলে এই লাইন এর কন্ডিশন চেক করবে।
এটা দিয়ে চেক করেছি যে এটা ওই vowel_string এর মাঝে আছে কিনা।
যদি থাকে তাহলে তো vowel আর না থাকলে Consonant।
আপনি হয়ত কনফিউশন এ আছেন কোন if এর জন্য কোন else কি কিছুই তো বুঝলাম না।
এটাই হল ইন্ডেশন বোঝার উত্তম জায়গা। যেই যেই লাইনের আগে চারটা স্পেস আছে সেই সেই লাইন মিলে হবে একটা ব্লক।
ব্লক হল একটা সম্পূর্ণ কন্ডিশন বা লুপ। দেখুন প্রথম লাইনের আগে আছে কোন স্পেস নেই এবং শেষ লাইনের আগে কোন স্পেস নেই।
আবার, দ্বিতীয় লাইনের আগে আছে .৪ টা স্পেস এবং চতুর্থ লাইনের আগে আছে ৪ টা স্পেস।
যেহেতু স্পেস সংখ্যা সমান তাই এরা মিলে একটা ব্লক।
আমরা এই যে প্রথম কন্ডিশন সত্যি হলে তার মাঝে আবার আরেকটা কন্ডিশন দিয়েছি এই একটার মাঝে আরেকটা কন্ডিশন দেয়াই হচ্ছে নেস্টেড কন্ডিশন।
লুপ হলে হতো নেস্টেড লুপ। তাহলে, পুরো কোড একবার দেখে নেয়া যাক।
letter = input() vowel_string = 'aeiou' letter = letter.lower() if letter >= 'a' and letter <= 'z': if letter in vowel_string: print("Vowel") else: print("Consonant") else: print("Wrong Input")
ধন্যবাদ!! আজকের মতো এখানেই শেষ। আগামী পর্বে দেখা হবে সমস্যা ২ নিয়ে।
আজকেই দুইটা সমস্যা দেবো ভেবেছিলাম তবে পোস্ট টা এমনিতেই বড় হয়ে গেল তাই আর আজ দিলাম না।।
আসসালামু আলাইকুম!!
আরো ভালো আর্টিকেল পেতে চলে যান এই লিংক এ www.thebanglatech.xyz
10 thoughts on "পাইথন প্রোগ্রামিং – সমস্যা ১ – পর্ব ১৩"