পাইথনে Control Structure কি?
Python Language এ Control Structure হচ্ছে প্রোগ্রাম বা Code গুলোর নিয়ন্ত্রণের কাঠামো অথবা এমন কিছু statement যা দিয়ে আপনি Program Flow Control করতে পারবেন বা Program এর পরবর্তী করণীয় কি তা নির্ধারণ করে দিতে পারবেন।
Python Language এ Control Structure গুলো কি কি?
নিচে Control Structure গুলোর লিস্ট দেয়া হলো :
- if
- if…else
- if…elif…else
- for
- while
- break
- continue
- pass
পাইথনে if Control Structure statement কি ?
Python Language এ if statement হচ্ছে, কোন একটি condition বা শর্ত পূরণ সাপেক্ষে Program এর কোন অংশ execute হবে কি হবে না ? তা নির্ধারণ করে দেয়। আরেকটু সহজ ভাবে বলি, ধরুন আপনি দোকানে যাবেন আপেল ফল কেনার জন্য, এবং সিদ্ধান্ত নিলেন যদি আপেল ফল না পান তাহলে ফিরে আসবেন বা তার পরিবর্তে অন্য কোনো ফল কিনবেন না। বাস্তব জীবনের এই চিত্র টি ই Python Language এ if statement দিয়ে সমাধান করা হয়। নিচের Image টি লক্ষ্য করুন :
Python Control Structure If Statement কিভাবে কাজ করে?
- পাইথনে if Statement তখন ই কাজ করবে, যখন কোনো Logical Condition true হয়,
- যখন logical Condition false হয় , Python Compiler if Statement ব্লক এর মধ্যের কোড গুলোকে skip বা এড়িয়ে যায়।
- If Statement কে One way dicision বা একমুখী সিদ্ধান্ত ও বলা হয়।
পাইথনে if statement এর Flow Chart
পাইথনে If Statement কিভাবে কাজ করে তা বুঝার জন্য নিচের flowchart টি লক্ষ্য করুন :
Python if Statement সিনটেক্স
if condition:
statement(s)
এবার চলুন একটা উদাহরণ দিয়ে বুঝা যাক :
[datacamp_exercise lang=”python”] [datacamp_sample_code] # If the number is positive, we print an appropriate message num = 3 if num > 0: print(num, “is a positive number.”) print(“This is always printed.”) num = -1 if num > 0: print(num, “is a positive number.”) print(“This is also always printed.”) [/datacamp_sample_code] [/datacamp_exercise]আপনি যখন উপরের কোডটি চালাবেন, আউটপুট নিচের মতো আসবে :
3 is a positive number This is always printed This is also always printed.
ব্যাখ্যা:
- উপরের উদাহরণে num > 0 এবং num>-1 হচ্ছে condition।
- এখানে যেহেতু ভ্যারিয়েবল num এর ভ্যালু 0 এর থেকে বড়, আর তাই condition এর ভ্যালু true এবং if এর ভেতরে অবস্থিত বডি সম্পাদিত হবে।
- আবার ৯ নম্বর লাইনে ভ্যারিয়েবল num এর ভ্যালু যেহেতু 0 এর চেয়ে ছোট, আর তাই condition এর মান false হয়েছে , যার জন্য়ে if এর ভেতরে অবস্থিত বডিকে স্কিপ করে পরবর্তী স্টেটমেন্ট সম্পাদিত হচ্ছে ।
- print() স্টেটমেন্ট if ব্লক এর বাহিরে থাকায় এটি condition কে গ্রাহ্য না করে print হয়েছে ।
উপরের উদাহরণের প্রোগ্রামটির মধ্যে একাধিক indentation এর একাধিক স্টেটমেন্ট লাইন থাকায় পাইথন কনসোলে রান করা যাবে না। স্টেটমেন্ট গুলো নিয়ে একটি পাইথন ফাইল তৈরি করে অতঃপর রান করা যাবে অথবা IDE তে রান করা যাবে।
পাইথনে if-else Control Structure Statement কি ?
Python Language এ else statement হচ্ছে if এর বিপরীত অর্থাৎ যদি কোনো কারণে if statement শর্ত পূরণ করতে ব্যর্থ হয় অথবা if statement যদি true না হয়।, তাহলে Program তার বিকল্প কোন অংশ execute হবে, তা নির্ধারণ করার জন্য যেই statement ব্যবহৃত হয়, তাকে বলা হয় else statement । আরেকটু সহজ ভাবে বলি, ধরুন আপনি দোকানে যাবেন আপেল অথবা কমলা ফল কেনার জন্য, এবং সিদ্ধান্ত নিলেন যদি আপেল ফল না পান তাহলে আপেলের পরিবর্তে কমলা ফল কিনে নিয়ে আসবেন। বাস্তব জীবনের এই চিত্র টি ই পাইথনে if-else statement দিয়ে সমাধান করা হয়। নিচের Image টি লক্ষ্য করুন :
Python Else Statement
Python Control Structure If-else Statement কিভাবে কাজ করে?
Python Language এ যখন if statement এর logical Condition false হয় , Python Compiler if Statement ব্লক এর মধ্যের কোড গুলোকে skip বা এড়িয়ে যায় এবং else Statement ব্লক এর মধ্যের কোড গুলোকে run করবে।
পাইথনে if-else statement এর Flow Chart
পাইথনে If-else Statement কিভাবে কাজ করে তা বুঝার জন্য নিচের flowchart টি লক্ষ্য করুন :
পাইথনে if…else সিনট্যাক্স
if condition:
Body of if
else:
Body of else
if else এর একটি উদাহরণ :
[datacamp_exercise lang=”python”] [datacamp_sample_code] number = 5 if number >5: print(“The Number is Greater Than Five”) else: print(“The Number is Less Or Equal Five”) [/datacamp_sample_code] [/datacamp_exercise]Ouptut
The Number is Less Or Equal Five
ব্যাখ্যা:
এখানে যেহেতু ভ্যারিয়েবল number এর ভ্যালু 5 এর থেকে বড় নয়, আর তাই condition এর ভ্যালু false এবং if এর ভেতরে অবস্থিত বডি সম্পাদিত না হয়ে else code block সম্পাদিত হয়েছে।।
পাইথনে elif Control Structure statement কি ?
Python Language এ elif/elif statement হচ্ছে, একাধিক বা অনেকগুলো condition বা শর্তের মধ্যে ক্রমান্বয়ে সবগুলো condition বা শর্ত চেক করতে থাকে এবং প্রথম যেই শর্ত পূরণ হবে , তার প্রোগ্রাম execute করার সুযোগ দেয়। এবং পরবর্তী condition গুলো আর চেক করেনা। আরেকটু সহজ ভাবে বলি, ধরুন আপনি দোকানে যাবেন আপেল,কমলা,আঙ্গুর অথবা কলা কেনার জন্য, এক্ষেত্রে আপনার প্রথম পছন্দ আপেল, আর যদি আপেল না পাওয়া যায় তাহলে কমলা নিয়ে আসবেন , কমলা না পাওয়া গেলে আঙ্গুর নিয়ে আসবেন, আর যদি আঙ্গুর ও না পাওয়া যায় তাহলে কলা নিয়ে আসবেন। বাস্তব জীবনের এই চিত্র টি ই Python Language এ elif statement দিয়ে সমাধান করা হয়। নিচের Image টি লক্ষ্য করুন :
Python Language এ elif Statement কিভাবে কাজ করে?
- if ও নয় else ও নয় এর মধ্যে যদি কোনো condition true হয় , তাহলে elif ব্যবহার করা হয়।
- অনেক গুলো logical elif/ elif এর মধ্যে যদি কোনো একটা elif true হয় , তাহলে compiler সেই elif block এর মধ্যে কোড execute করবে। আর যদি কোনো elif ই true না হয় , বাই ডিফল্ট else ব্লকটি execute করবে।
- আরেকটা কথা জেনে রাখা ভালো , যদি অনেক গুলো elif এর মধ্যে একাধিক elif true হয়ে যায় , তাহলে শুধু মাত্র প্রথম elif execute হবে।
পাইথনে elif statement এর Flow Chart
নিচের flowchart টি তে elif কিভাবে কাজ করে তা সহজে বুঝানো হয়েছে :
elif Statement এর Syntax কি ?
if condition: Body of if elif condition: Body of elif else: Body of else
elif এর একটি উদাহরণ :
[datacamp_exercise lang=”python”] [datacamp_sample_code] #First Example num = 0 if num > 0: print(“Positive number”) elif num == 0: print(“Zero”) else: print(“Negative number”) #Second Example num = 5 if num > 0: print(“Positive number”) elif num == 0: print(“Zero”) else: print(“Negative number”) [/datacamp_sample_code] [/datacamp_exercise]ব্যাখ্যা:
- এখানে প্রথম উদাহরণের জন্য output আসবে zero
- এবং দ্বিতীয় উদাহরণের জন্য Output আসবে positive number
Python Language এ loops কি?
Python language এ loop হচ্ছে একটি নির্দিষ্ট কাজ একটি নির্দিষ্ট শর্ত বা condition পূরণ না হওয়া পর্যন্ত বার বার করতে থাকা বা execute করা।
পাইথনে loops কত প্রকার ?
Python Language এ ২ ধরণের loop আছে , সেগুলো হচ্ছে
- For
- While
For Loop
Python Language এ for লুপ দিয়ে খুব সহজেই যেকোনো সিকোয়েন্স টাইপ অবজেক্ট যেমন list, string ইত্যাদির মধ্যে iterate করা যায়।
পাইথনে for স্টেটমেন্ট এর সিনট্যাক্স
for value in sequence:
Body of for
ব্যাখ্যা:
- এখানে value হচ্ছে ভ্যারিয়েবেল যা প্রতিবার ইটারেশন(iteration) এর সময় সিকুয়েন্স থেকে ভ্যালু গ্রহণ করে।
- সিকুয়েন্সের শেষ উপাদানে না পৌঁছা পর্যন্ত এই লুপ চলতেই থাকে। for লুপ এর body-কে আলাদা করার জন্য ইন্ডেন্টেশন ব্যবহার করা হয়।
for স্টেটমেন্টের Flowchart
for loop in python
তাহলে চলুন for loop দিয়ে একটি string কে iterate করা যাক:
[datacamp_exercise lang=”python”] [datacamp_sample_code] for letter in ‘Bangladesh’: # Here “Python” acts like a list of characters print(letter) [/datacamp_sample_code] [/datacamp_exercise]আউটপুট:
B a n g l a d e s h
একই ভাবে আমরা পাইথন range function এর সহযোগিতায় for দিয়ে 1 থেকে ১০ পর্যন্ত print করতে পারি।
নিচের উদাহরণে লক্ষ্য করুন:
আউটপুট:
0 1 2 3 4 5 6 7 8 9
ঠিক একই ভাবে আমরা Python List থেকে সব value গুলো বের করে নিতে পারি
[datacamp_exercise lang=”python”] [datacamp_sample_code] countries = [“Bangladesh”, “India”, “Pakistan”, “Nepal”] for country in countries: print(country) [/datacamp_sample_code] [/datacamp_exercise]আউটপুট:
Bangladesh India Pakistan Nepal
for এর সাথে else
for এর মধ্যে যদি কোনো item না পান , তখন আপনি চাইলে একটা else block এ Message দেখাতে পারেন , নিচের উদাহরণটি দেখুন :
[datacamp_exercise lang=”python”] [datacamp_sample_code] digits = [0, 1, 5] for i in digits: print(i) else: print(“No items left.”) [/datacamp_sample_code] [/datacamp_exercise]আউটপুট:
0 1 5 No items left.
While Loop Control Structure Statement কি?
Python Language এ while loop ও for loop এর মতো করে খুব সহজেই যেকোনো সিকোয়েন্স টাইপ অবজেক্ট যেমন list, string ইত্যাদির মধ্যে iterate করা যায়। সেক্ষেত্রে শুধু পার্থক্য হচ্ছে , while এ আগে থেকেই একটা condition set করে দেওয়া যায়। অর্থাৎ, যতক্ষণ পর্যন্ত কন্ডিশন true থাকে ততক্ষণ পর্যন্ত কোড ব্লককে ইটারেট করার জন্য পাইথনে while লুপ ব্যবহৃত হয়।
While loop এর Syntax
while condition:
Body of while
Syntax এর ব্যাখ্যা
- while লুপে প্রথমে Condition কে চেক করে। প্রোগ্রাম Loop এর Body এর মধ্যে কেবল তখনই প্রবেশ করে( যখন condition এর মান True হয়।
- একবার ইটারেশন(iteration) এর পরে condition পুনরায় চেক হয়। condition এর মান False না হওয়া পর্যন্ত এই প্রক্রিয়া চলতেই থাকে।
- পাইথনে while লুপের body নির্ণয়ের জন্য ইন্ডেন্টেশন ব্যবহৃত হয়।
- Body শুরু হয় ইন্ডেন্টেশন দিয়ে এবং শেষ হয় যেখান থেকে প্রথম ইন্ডেন্টেশন শুরু হয়েছিল
উল্লেখ্য: শূন্য নয় এমন যেকোনো value কে পাইথন True হিসাবে গণ্য করে। None এবং 0 কে False হিসাবে গণ্য করে।
while লুপ ফ্লোচার্ট
তাহলে চলুন while loop দিয়ে একটি string কে iterate করা যাক:
[datacamp_exercise lang=”python”] [datacamp_sample_code] str=”Hello” i=0 while i!=len(str): print(str[i],end=”\t”) i+=1 [/datacamp_sample_code] [/datacamp_exercise]Output
H e l l o
একই ভাবে আপনি while loop দিয়ে একটি list কে iterate করতে পারবেন:
[datacamp_exercise lang=”python”] [datacamp_sample_code] countries = [“Bangladesh”, “India”, “Pakistan”, “Nepal”] i=0 while i!=len(countries): print(countries[i],end=”\t”) i+=1 [/datacamp_sample_code] [/datacamp_exercise]Output
Bangladesh India Pakistan Nepal
while loop দিয়ে 1 থেকে 9 পর্যন্ত print:
[datacamp_exercise lang=”python”] [datacamp_sample_code] i=1 while i!=10: print(i,end=”\t”) i+=1 [/datacamp_sample_code] [/datacamp_exercise]1 2 3 4 5 6 7 8 9
while এর সাথে else এর ব্যবহার :
for লুপের ন্যায় while loop এ ও আপনি else ব্লক ব্যবহার করতে পারেন।
এক্ষেত্রে while লুপের কন্ডিশন False হলে else অংশ সম্পাদিত হবে।
i=11
while i<=10:
print(i,end="\t")
i+=1
else:
print("Condition Fail")
Output
Condition Fail
উল্লেখ্য, while লুপের else অংশ কেবল তখনই সম্পন্ন হয় যখন কোনো break স্টেটমেন্ট থাকে না এবং কন্ডিশন False হয়।
পাইথনে break Control Structure statement কি?
Python Language এ কোনো একটা নির্দিষ্ট condition true হওয়ার প্রেক্ষিতে তাৎক্ষণিক প্রোগ্রাম execution বন্ধ করা এবং program থেকে বের হওয়ার জন্য break statement ব্যবহৃত হয়।
পাইথনে break statement এর Syntax:
break
Python Control Structure break statement এর Flowchart
for লুপ এবং while লুপ এর মধ্যে break স্টেটমেন্ট কিভাবে কাজ করে নিচে চিত্রে লক্ষ্য করুন:
এবার চলুন প্রথমে for লুপের মধ্যে break স্টেটমেন্টের ব্যবহার
[datacamp_exercise lang=”python”] [datacamp_sample_code] countries = [“Bangladesh”, “India”, “Pakistan”, “Nepal”] for val in countries: if val == “Pakistan”: print (“Pakistan not allowed in this list”) break print(val) print(“The end”) [/datacamp_sample_code] [/datacamp_exercise]উপরের প্রোগ্রামে আমরা Country List এর প্রত্যেকটি country কে ইটারেট করতে চেয়েছিলাম। কিন্তু Break স্টেটমেন্টের ব্যবহার দেখানোর জন্য আমরা List এর মধ্যে “Pakistan” আছে কিনা চেক করেছি, “Pakistan” হলেই for লুপ থেকে বিরতি (break) নিতে চেয়েছি। তাই আমরা আমদের “Pakistan” এর পুর্ববর্তী সবগুলো country কে আউটপুট পেয়েছি। তারপরে লুপের অবসান ঘটেছে।
Python Language এ continue Control Structure statement কি?
Python Language এ কোনো একটা নির্দিষ্ট condition true হওয়ার প্রেক্ষিতে তাৎক্ষণিক প্রোগ্রাম execution skip করে পরবর্তী প্রোগ্রাম এ যাওয়ার জন্য continue statement ব্যবহৃত হয়।
পাইথনে continue statement এর flow chart :
পাইথনে তে continue Control Structure statement এর Syntax
continue
পাইথনে continue Control Structure statement কিভাবে কাজ করে ?
পাইথনে continue statement সাধারণত loop এর মধ্যে একটা নির্দিষ্ট condition true হওয়ার প্রেক্ষিতে তাৎক্ষণিক প্রোগ্রাম execution skip করে পরবর্তী প্রোগ্রাম এ যাওয়ার জন্য continue statement কাজ করে। নিচের ছবিটি লক্ষ্য করুন
continue statement এর উদাহরণ :
[datacamp_exercise lang=”python”] [datacamp_sample_code] countries = [“Bangladesh”, “India”, “Pakistan”, “Nepal”] for val in countries: if val == “Pakistan”: continue print(val) print(“The end”) [/datacamp_sample_code] [/datacamp_exercise]উপরের উদাহরণে country variable এর মান যখন “Pakistan” হবে, প্রোগ্রাম তাৎক্ষণিক ভাবে তার execution skip করে পরবর্তী প্রোগ্রামে যাবে । সুতরাং এখানে ফলাফল আসবে :
Bangladesh India Nepal
পাইথনে pass Control Structure Statement
Python Language এ pass একটি ফাঁকা স্টেটমেন্ট। comment এবং pass এর মধ্যে পার্থক্য হচ্ছে ইন্টারপ্রেটার কমেন্টকে সম্পূর্ণভাবে অবজ্ঞা করে কিন্তু pass কে অবজ্ঞা করে না।
অর্থাৎ pass স্টেটমেন্ট সম্পাদিত হলে কোনো কিছুই ঘটে না। এটি এই ফলাফল দেয় যে, প্রোগ্রামে কোনো অপারেশনই সম্পন্ন হয় নি। এবং সেই সময় আপনি একটি message দিয়ে রাখতে পারেন। নিচের উদাহরণটির দিকে লক্ষ্য করুন :
[datacamp_exercise lang=”python”] [datacamp_sample_code] countries = [“Bangladesh”, “India”, “Pakistan”, “Nepal”] for val in countries: if val == “Pakistan”: pass print(“Something Wrong!”) print(val) [/datacamp_sample_code] [/datacamp_exercise]উপরের উদাহরণে country variable এর মান যখন “Pakistan” হবে, প্রোগ্রাম তাৎক্ষণিক ভাবে null print করবে । সুতরাং এখানে ফলাফল আসবে :
Bangladesh India Something Wrong! Pakistan Nepal