কন্ডিশনাল লজিক
আগে একটা কাজ করতে হবে।
এতদিন আমরা কোড লিখেছি পাইথন শেল এ। এখন থেকে লিখবো কোড এডিটর এ।
পাইথনের ডিফল্ট কোড এডিটর চালু করতে হলে প্রথমে পাইথন শেল বা IDLE থেকে File –> New File এ ক্লিক করে কোড এডিটর ওপেন করে কোড লিখে কোথাও সেভ করতে হবে।
এবং কোড এর আউটপুট দেখতে F5 প্রেস করতে হবে।
আর, মোবাইলে কিছুই লাগবে না শুধু Pydroid3 এপ এ ঢুকেই লিখা শুরু করতে হবে।
এবং আউটপুট এর জন্য Run এ ক্লিক করতে হ বে।
আচ্ছা এবার শুরু করা যাকঃ—
আজ শক্রবার হলে স্কুল ছুটি, না হলে স্কুলে যেতে হবে। এটা হল শর্ত।
পাইথনে এমন ধরনের শর্তকে বলে কন্ডিশনাল লজিক। যদি এটা হয় তো ওটা করো নাহলে ঐটা করো।
এটাই মুলত আসল কাজ। একটা উদাহরণ দেখিঃ–
আজ = শুক্রবার যদি আজ == শুক্রবারঃ স্কুল ছুটি নাহলেঃ স্কুল আছে।
এই যে এই টুকু বাংলাতে লিখলাম এটাই পাইথনে লিখতে হবে।
মানে, এখানে আজ হল ভ্যারিয়েবল এবং শুক্রবার তার ভ্যালু। এবার কোড টুকু পাইথনে লিখে দেখিঃ-
today = 'Friday' if today == 'Friday' print('Aj chuti') else: print('School ase')
দেখেছেন বললাম না আগের টুকুই আসলে পাইথনে লিখব।
বুঝলেন কিছু?? আর ওইজে print(‘Aj chuti’) এই লাইনের আগে চারটা স্পেস দিবেন না হলে ইরোর হবে।
এই চারটা স্পেস দেয়ার পদ্ধতিকে বলে ইন্ডেনশন। আগে কোন ল্যাঙ্গুয়েজ এ অভিজ্ঞতা থাকলে ভালো বুঝবেন।
এখন যেখানে যেখানে স্পেস দিচ্ছি সেখানে সেখানে দিয়ে যান পরে অভিজ্ঞ হলে বুঝতে পারবেন।
চলুন তাহলে একটা মজার উদাহরণ দেখে নেই….
a =float(input('Type a number:- ')) b = float(input('Type another number:- ')) c = input('Typa a operation (+ or -):- ') if c == '+': print(a+b) else: print(a-b)
এটার আউটপুট দেখুন। মজা না??
প্রথমে একটা ইনপুট নিচ্ছি এবং সেটাকে ফ্লোট ডাটা টাইপে কনভার্ট করছি। এখানে দুই লাইনে কনভার্ট না করে আমরা স্মার্টলি এক লাইনে করছি।
বোঝার কথা। আচ্ছা, প্রথমে একটা সংখ্যা এবং তারপর আরো একটা সংখ্যা ইনপুট নিয়েছি। এবং ৩য় বারে একটা অপারেশন ইনপুট দিতে বলছি হয় + নাহয় –
তারপর আসল ম্যাজিক যদি c এর মান + হয় তাহলে a এবং b কে যোগ করবে। আর, + নাহয়ে অন্য কিছু হলেই a থেকে b বিয়োগ করবে।
কেমন হল এটা?? নিজে হাতে করে চেষ্টা করুন। আপনি গুন অথবা ভাগ করার প্রোগ্রাম লিখে দেখুন।
উপরের প্রোগ্রামটুকু কিন্তু আসল ক্যালকুলেটর এর মতো হয় নি। কারণ, সেখানে যোগ, বিয়োগ, গুন, ভাগ সবই করা যায়।
তাহলে, আরো একটা কাজ করি। নিচের কোডটকু দেখুন।
a =float(input('Type a number:- ')) b = float(input('Type another number:- ')) c = input('Typa a operation (+ or - or * or /):- ') if c == '+': print(a+b) elif c == '-': print(a-b) elif c == '*': print(a*b) elif c == '/': print(a/b)
এবারে আরো মজার প্রোগ্রাম আগে আউটপুট দেখুন। দেখেছেন?? বুঝলেন কি করলাম??
ইনপুট নেয়াটা একি আছে কিন্তু চেঞ্জ টা ব্যাখ্যা করা যাক।
এখানে, যদি c এর মান হয় + তাহলে print(a+b) অথবা c এর মান হয় যদি – তাহলে print(a-b) অথবা c এর মান হয় যদি * তাহলে print(a*b) অথবা c এর মান হয় যদি / তাহলে print(a/b)
এখানে এই অথবা টার জায়গায় দিয়েছি elif এটা else if এর পরিবর্তিত রুপ।
এখানে, যদি প্রথম কন্ডিশন অর্থাৎ if এর শর্ত সত্যি না হয় তাহলে দ্বিতীয় ব্লক অর্থাৎ elif এর শর্ত চেক করবে যদি সত্য হয় তাহলে ওই ব্লকের কাজ করবে।
আর যদি সত্য না হয় তাহলে পরবর্তী ব্লক অর্থাৎ পরের elif এ চেক করবে। এরকম সবগুলো যদি মিথ্যা হয় তাহলে else ব্লকের কাজ হবে।
বুঝলেন ব্যাপারটা?? প্রোগ্রামিং এর সবগুলো কনসেপ্ট এর মাঝে এটাই আমার সবথেকে মজার এবং সহজ মনে হয়।
শুধু if-else কন্ডিশন দিয়েই কত্তগুলা প্রোগ্রাম লিখেছি দুই-তিনশ লাইনের। পরে আরো কিছুদুর শেখার পরে দেখেছি সেটা ১০ লাইনেই হতো। তবে, ওই প্র্যাক্টিস টা খুব দরকার।
এখন আপনি, সবগুলো গাণিতিক অপারেটর দিয়ে মনের মাধুর্য মিশিয়ে একটা সুন্দর প্রোগ্রাম লিখে কমেন্ট এ দিয়ে আপনি হয়ে যান একজন রিয়েল লার্নার।
এখন একটা সুখবর দেই এই পর্যায়ে এসে আপনি পাইথন প্রোগ্রামিং ব্যাসিক এর অর্ধেক শিখে ফিলেছেন। এখন তাই একটু আধটু প্রজেক্ট এবং প্রব্লেম সল্ভিং করে নিজেকে গুছিয়ে নেয়া দরকার।
নিজেকে সেলফ-মোটিভেটেড করার সর্বোত্তম উপায় হল ‘প্রজেক্ট করা”। আজকের মত বিদায় আগামী পর্বে থাকবে অনেক বড় একটা কনসেপ্ট “পাইথন লুপ”। হয়ত দুইটা খণ্ড হবে ১১ নং পর্বের।
আগামী ১২, ১৩ এবং ১৪ তম পর্বে থাকবে প্রজেক্ট। কথা দিলাম যদি সত্যি শিখতে থাকেন তাহলে আপনি প্রোজেক্ট গুলোতে মজা পেতে বাধ্য হবেন।
আসসালামু আলাইকুম!! আমি শাহরিয়ার আহমেদ শোভন। ফেসবুকে আমাকে পাবেন https://facebook.com/shovon.0.ahmed
আরো ভালো আর্টিকেল পেতে চলে যান এই লিংক এ www.thebanglatech.xyz
6 thoughts on "পাইথন প্রোগ্রামিং – কন্ডিশনাল লজিক – পর্ব ১০"