Class - XII: SEMESTER – III: Unit – 1: Python Programming: Section 6: Flow of Control
Python Programming: Flow of Control
১. Flow of Control কী?
Programming-এ Flow of Control বলতে বোঝায় একটি program-এর statements বা instructions কোন order বা sequence অনুযায়ী execute হবে। অর্থাৎ, program যখন run হয় তখন কোন line আগে চলবে, কোন line পরে চলবে, কোন condition অনুযায়ী কোন block execute হবে, এবং কোন block বারবার execute হবে — এগুলোই Flow of Control-এর মাধ্যমে নির্ধারিত হয়।
সাধারণভাবে একটি Python program উপরের line থেকে নিচের line পর্যন্ত execute হয়। কিন্তু real-life program সবসময় এত simple হয় না। অনেক সময় আমাদের decision নিতে হয়, যেমন user-এর age 18-এর বেশি কিনা, student pass করেছে কিনা, password correct কিনা ইত্যাদি। আবার অনেক সময় একই কাজ বারবার করতে হয়, যেমন ১ থেকে ১০ পর্যন্ত number print করা, list-এর প্রতিটি item process করা, অথবা user যতক্ষণ না সঠিক input দিচ্ছে ততক্ষণ input নেওয়া।
এই ধরনের decision making এবং repetition control করার জন্য Python-এ বিভিন্ন control flow structure ব্যবহার করা হয়।
Flow of Control সাধারণত তিন ধরনের:
- Sequential Flow — statements একটার পর একটা execute হয়।
- Conditional Flow — condition-এর উপর ভিত্তি করে statements execute হয়।
- Iterative Flow — একই statements বারবার execute হয়।
২. Python-এ Indentation-এর গুরুত্ব
Python programming language-এর অন্যতম গুরুত্বপূর্ণ বৈশিষ্ট্য হলো indentation। Indentation বলতে
code-এর line-এর শুরুতে space দেওয়াকে বোঝায়। অনেক programming language যেমন C, C++, Java ইত্যাদিতে
code block বোঝানোর জন্য curly braces { } ব্যবহার করা হয়। কিন্তু Python-এ code block বোঝানোর
জন্য indentation ব্যবহার করা হয়।
Python-এ যদি indentation সঠিক না হয়, তাহলে program error দেখাবে। কারণ Python indentation দেখে বুঝতে পারে
কোন statement কোন block-এর অন্তর্ভুক্ত। যেমন, if, for, while, function
এবং class-এর ভিতরের statements indentation দিয়ে আলাদা করা হয়।
উদাহরণ: সঠিক Indentation
age = 20
if age >= 18:
print("আপনি ভোট দিতে পারবেন")
print("আপনি একজন প্রাপ্তবয়স্ক")
উপরের code-এ print() statements দুটি if block-এর ভিতরে আছে, কারণ এগুলো indentation
দিয়ে ভিতরে রাখা হয়েছে। যদি condition সত্য হয়, তাহলে এই statements execute হবে।
উদাহরণ: ভুল Indentation
age = 20
if age >= 18:
print("আপনি ভোট দিতে পারবেন")
এখানে print() statement-এর আগে indentation নেই। তাই Python বুঝতে পারবে না যে এই statement
if block-এর অংশ কিনা। ফলে IndentationError হবে।
৩. Sequential Flow
Sequential Flow হলো program execution-এর সবচেয়ে basic flow। এখানে statements একটির পর একটি top-to-bottom order-এ execute হয়। কোনো condition বা loop থাকে না। Python interpreter প্রথম line execute করে, তারপর দ্বিতীয় line, তারপর তৃতীয় line — এভাবে শেষ line পর্যন্ত যায়।
Sequential Flow সাধারণত simple calculation, input নেওয়া, output দেখানো, variable assign করা ইত্যাদি কাজে ব্যবহৃত হয়।
উদাহরণ:
name = input("আপনার নাম লিখুন: ")
age = int(input("আপনার বয়স লিখুন: "))
print("আপনার নাম:", name)
print("আপনার বয়স:", age)
Execution Flow:
- প্রথমে user থেকে name input নেওয়া হবে।
- তারপর user থেকে age input নেওয়া হবে।
- তারপর name output হিসেবে print হবে।
- শেষে age output হিসেবে print হবে।
এখানে program কোনো decision নিচ্ছে না এবং কোনো কাজ repeat করছে না। তাই এটি Sequential Flow-এর একটি ভালো উদাহরণ।
আরেকটি উদাহরণ:
a = 10
b = 20
sum_value = a + b
print("যোগফল:", sum_value)
এখানে প্রথমে a variable-এ 10 রাখা হয়েছে, তারপর b variable-এ 20 রাখা হয়েছে। এরপর
a + b expression evaluate করে result sum_value-এ রাখা হয়েছে এবং শেষে output দেখানো হয়েছে।
৪. Conditional Flow
Conditional Flow ব্যবহার করা হয় যখন program-কে কোনো condition check করে সিদ্ধান্ত নিতে হয়। অর্থাৎ, condition সত্য হলে এক ধরনের কাজ হবে, আর condition মিথ্যা হলে অন্য ধরনের কাজ হবে।
Python-এ conditional flow তৈরি করার জন্য প্রধানত if, if-else, এবং
if-elif-else statements ব্যবহার করা হয়।
৪.১ if Statement
if statement ব্যবহার করা হয় যখন কোনো condition সত্য হলে নির্দিষ্ট code execute করতে হয়।
age = 18
if age >= 18:
print("আপনি ভোট দিতে পারবেন")
এখানে condition হলো age >= 18। যদি age 18 বা তার বেশি হয়, তাহলে message print হবে।
৪.২ if-else Statement
যখন condition সত্য হলে এক কাজ এবং condition মিথ্যা হলে অন্য কাজ করতে হয়, তখন if-else ব্যবহার করা হয়।
number = int(input("একটি সংখ্যা লিখুন: "))
if number % 2 == 0:
print("সংখ্যাটি Even")
else:
print("সংখ্যাটি Odd")
এখানে যদি number 2 দিয়ে ভাগ করলে remainder 0 হয়, তাহলে সংখ্যা Even। অন্যথায় সংখ্যা Odd।
৪.৩ if-elif-else Statement
যখন একাধিক condition check করতে হয়, তখন if-elif-else ব্যবহার করা হয়। Python একে একে condition
check করে। যে condition প্রথমে true হয়, তার block execute হয়।
marks = int(input("আপনার marks লিখুন: "))
if marks >= 80:
print("Grade: A+")
elif marks >= 70:
print("Grade: A")
elif marks >= 60:
print("Grade: B")
elif marks >= 50:
print("Grade: C")
else:
print("Fail")
এখানে marks-এর value অনুযায়ী grade নির্ধারণ করা হচ্ছে। এই ধরনের structure real-life program-এ খুব বেশি ব্যবহৃত হয়।
৪.৪ Nested if
একটি if block-এর ভিতরে আরেকটি if block থাকলে তাকে Nested if বলা হয়।
username = "admin"
password = "1234"
if username == "admin":
if password == "1234":
print("Login successful")
else:
print("Wrong password")
else:
print("Invalid username")
এখানে প্রথমে username check করা হচ্ছে। username correct হলে password check করা হচ্ছে। তাই এটি Nested Conditional Flow-এর উদাহরণ।
৫. Iterative Flow
Iterative Flow বা loop ব্যবহার করা হয় যখন একই কাজ একাধিকবার repeat করতে হয়। Programming-এ অনেক সময় আমাদের একই statement বারবার execute করতে হয়। যেমন ১ থেকে ১০ পর্যন্ত number print করা, list-এর প্রতিটি item display করা, অথবা user যতক্ষণ না correct password দিচ্ছে ততক্ষণ password input নেওয়া।
Python-এ প্রধানত দুই ধরনের loop ব্যবহার করা হয়:
forloopwhileloop
৫.১ for Loop
for loop সাধারণত sequence-এর উপর কাজ করে। Sequence হতে পারে list, tuple, string, range ইত্যাদি।
যখন আমরা জানি loop কতবার চলবে, তখন সাধারণত for loop ব্যবহার করা সুবিধাজনক।
উদাহরণ: range ব্যবহার করে
for i in range(1, 6):
print(i)
Output হবে:
1
2
3
4
5
এখানে range(1, 6) 1 থেকে শুরু করে 5 পর্যন্ত value তৈরি করে। 6 include হয় না।
উদাহরণ: list-এর প্রতিটি item print করা
fruits = ["Apple", "Banana", "Mango"]
for fruit in fruits:
print(fruit)
এখানে list-এর প্রতিটি item একবার করে fruit variable-এ যাবে এবং print হবে।
৫.২ while Loop
while loop তখন ব্যবহার করা হয় যখন একটি condition true থাকা পর্যন্ত loop চালাতে হয়। Condition false হলে loop বন্ধ হয়ে যায়।
count = 1
while count
এখানে count <= 5 condition true থাকা পর্যন্ত loop চলবে। প্রতিবার loop চলার পর count-এর value 1 করে বাড়ানো হচ্ছে।
৫.৩ Infinite Loop
যদি loop-এর condition কখনো false না হয়, তাহলে loop অনন্তকাল চলতে থাকবে। এটাকে Infinite Loop বলা হয়।
count = 1
while count
এখানে count variable-এর value update করা হয়নি। তাই count সবসময় 1 থাকবে এবং condition সবসময় true থাকবে। ফলে infinite loop হবে।
৬. Loop Control Statements
Iterative Flow-এর ভিতরে loop-এর behavior control করার জন্য Python-এ কিছু special statements আছে। এগুলো হলো:
breakcontinuepass
৬.১ break Statement
break statement loop বন্ধ করে দেয়, অর্থাৎ loop থেকে বের হয়ে যায়।
for i in range(1, 10):
if i == 5:
break
print(i)
Output:
1
2
3
4
এখানে i-এর value 5 হলে loop বন্ধ হয়ে যায়।
৬.২ continue Statement
continue current iteration skip করে next iteration-এ চলে যায়।
for i in range(1, 6):
if i == 3:
continue
print(i)
Output:
1
2
4
5
এখানে i-এর value 3 হলে print statement skip হয়।
৬.৩ pass Statement
pass statement কিছুই করে না। এটি placeholder হিসেবে ব্যবহার করা হয়, যখন syntax অনুযায়ী statement দরকার, কিন্তু এখনই কোনো code লিখতে চাই না।
for i in range(5):
pass
এই code error দিবে না, কিন্তু কোনো output-ও দেখাবে না।
৭. Sequential, Conditional এবং Iterative Flow-এর তুলনা
| Flow Type | কাজ | Python Constructs | উদাহরণ ব্যবহার |
|---|---|---|---|
| Sequential Flow | Statements একটার পর একটা execute হয় | Normal statements | Input নেওয়া, calculation করা, output দেখানো |
| Conditional Flow | Condition অনুযায়ী decision নেয় | if, if-else, if-elif-else | Pass/Fail check, login validation, grade calculation |
| Iterative Flow | একই কাজ বারবার repeat করে | for loop, while loop | ১ থেকে ১০ print করা, list process করা, repeated input নেওয়া |
৮. Complete Example: Flow of Control in Python
নিচের program-এ sequential flow, conditional flow এবং iterative flow — তিনটিই ব্যবহার করা হয়েছে।
# Sequential Flow: user থেকে input নেওয়া হচ্ছে
limit = int(input("কত পর্যন্ত সংখ্যা দেখতে চান? "))
# Conditional Flow: input valid কিনা check করা হচ্ছে
if limit
Program Explanation:
- প্রথমে user থেকে একটি number input নেওয়া হয়েছে। এটি sequential flow।
- তারপর check করা হয়েছে number positive কিনা। এটি conditional flow।
- যদি number positive হয়, তাহলে ১ থেকে user-এর দেওয়া number পর্যন্ত values print করা হয়েছে। এটি iterative flow।
এই উদাহরণ থেকে বোঝা যায়, বাস্তব program-এ একাধিক control flow একসাথে ব্যবহার করা হয়।
৯. Real-Life Example
ধরুন একটি online shopping application তৈরি করা হচ্ছে। সেখানে Flow of Control বিভিন্নভাবে ব্যবহার হবে:
- User login করবে — username এবং password check করার জন্য conditional flow ব্যবহার হবে।
- Cart-এর প্রতিটি product দেখানোর জন্য loop বা iterative flow ব্যবহার হবে।
- Total price calculate করার জন্য sequential flow ব্যবহার হবে।
- Discount apply হবে কিনা তা check করার জন্য if-else ব্যবহার হবে।
- Payment successful না failed, সেটি condition অনুযায়ী message দেখাবে।
তাই Flow of Control শুধু basic programming concept নয়, বরং real-world software development-এর একটি মূল ভিত্তি।
১০. Common Mistakes in Flow of Control
- Indentation ভুল করা: Python-এ block ঠিকভাবে indent না করলে error হবে।
- Colon ভুলে যাওয়া: if, elif, else, for, while-এর শেষে colon
:দিতে হয়। - Infinite loop তৈরি করা: while loop-এ condition update না করলে loop থামবে না।
- Wrong condition লেখা: condition ভুল হলে output ভুল আসবে।
- Assignment এবং comparison confuse করা:
=assignment-এর জন্য, আর==comparison-এর জন্য।
ভুল উদাহরণ:
x = 10
if x = 10:
print("Equal")
এখানে = ব্যবহার করা হয়েছে, যা assignment operator। condition check করার জন্য == ব্যবহার করতে হবে।
সঠিক উদাহরণ:
x = 10
if x == 10:
print("Equal")
উপসংহার
Flow of Control Python programming-এর একটি অত্যন্ত গুরুত্বপূর্ণ concept। এটি নির্ধারণ করে program-এর statements কীভাবে execute হবে। Sequential flow program-কে step-by-step execute করে, conditional flow program-কে decision নিতে সাহায্য করে, এবং iterative flow একই কাজ বারবার করার সুযোগ দেয়।
Python-এ indentation খুব গুরুত্বপূর্ণ, কারণ এটি code block নির্ধারণ করে। তাই if, loop বা অন্য কোনো block লিখার সময় indentation সঠিক রাখা জরুরি।
একজন beginner programmer-এর জন্য Flow of Control ভালোভাবে বোঝা খুব দরকার, কারণ almost every real-world program decision making এবং repetition-এর উপর নির্ভর করে। যদি আপনি sequential, conditional এবং iterative flow ভালোভাবে বুঝতে পারেন, তাহলে আপনি সহজেই calculator, grade system, login system, shopping cart, number pattern, data processing program এবং আরও অনেক practical application তৈরি করতে পারবেন।