পাইথনের নিয়ন্ত্রণ প্রবাহ
এই প্রবন্ধটি পাইথনের নিয়ন্ত্রণ প্রবাহ ব্যাখ্যা করে।
YouTube Video
পাইথনে If বিবৃতি
পাইথনের if
বিবৃতি শর্তানুগ শাখাপ্রদান করার জন্য একটি সিনট্যাক্স। যদি একটি নির্দিষ্ট শর্ত True
(সত্য) হয়, তবে কোডের একটি ব্লক কার্যকর করতে এটি ব্যবহার করা হয়।
মূল সিনট্যাক্স
পাইথনের if
বিবৃতিটি মূলত নিচের কাঠামো অনুসরণ করে।
1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4 # If the condition is True, execute this code block
5 print("x is greater than 5")
এই উদাহরণে, যদি ভেরিয়েবল x
, ৫-এর থেকে বড় হয় তবে "x is greater than 5"
মুদ্রিত হয়।
else
বিবৃতি
if
বিবৃতির পরে else
ব্যবহারের মাধ্যমে আপনি শর্ত মিথ্যা হলে কার্যকর করার জন্য কোড নির্দিষ্ট করতে পারেন।
1x = 3
2
3if x > 5:
4 print("x is greater than 5")
5else:
6 print("x is less than or equal to 5")
এই উদাহরণে, আউটপুট হবে "x is less than or equal to 5"
।
elif
বিবৃতি
আপনার যদি একাধিক শর্ত পরীক্ষা করতে হয়, তাহলে আপনি elif
ব্যবহার করতে পারেন, যা "else if" বোঝায়।
1x = 5
2
3if x > 5:
4 print("x is greater than 5")
5elif x == 5:
6 print("x is equal to 5")
7else:
8 print("x is less than 5")
এই উদাহরণে, "x is equal to 5"
মুদ্রিত হয়।
নোটস
if
,elif
, বাelse
-এর পরে একটি কোলন (:
) প্রয়োজন।- যখন শর্ত সত্য হয় তখন কার্যকর হওয়া কোড ব্লকটি ইনডেন্ট করা প্রয়োজন। পাইথনে, আদর্শ ইনডেন্টেশন সাধারণত ৪টি স্পেস হয়, তবে আপনি যদি ধারাবাহিকভাবে ব্যবহার করেন তাহলে যে কোনো সংখ্যার স্পেস ব্যবহার করতে পারেন।
- আপনি শর্ত হিসেবে যেকোনও এক্সপ্রেশন ব্যবহার করতে পারেন যা বুলিয়ান মানে রূপান্তর করে। এর মানে হল, আপনি শর্তযুক্ত এক্সপ্রেশন ব্যবহার করতে পারেন তুলনা বা লজিক্যাল অপারেটরের সাথে মিলিয়ে।
পাইথনের if
বিবৃতিতে দক্ষতা অর্জন হলে আপনি প্রোগ্রামের চলন প্রবাহ নমনীয়ভাবে নিয়ন্ত্রণ করতে পারবেন।
পাইথনে একাধিক শর্তানুগ শাখাপ্রদান
অন্যান্য ভাষার মতো, পাইথনে switch
-এর মতো কার্যকারিতা বাস্তবায়নের কয়েকটি উপায় রয়েছে। পাইথনে, একটি switch
বিবৃতির অনুরূপ কাঠামো তৈরির জন্য সাধারণত if-elif-else
বিবৃতি বা ডিকশনারি ব্যবহার করা হয়।
পদ্ধতি ১: if-elif-else
বিবৃতি
সবচেয়ে সহজ উপায় হল শর্তাধীন বিভাজনের জন্য if-elif-else
বিবৃতি ব্যবহার করা।
1def switch_example(value):
2 if value == 1:
3 return "Value is one"
4 elif value == 2:
5 return "Value is two"
6 elif value == 3:
7 return "Value is three"
8 else:
9 return "Unknown value"
10
11print(switch_example(1)) # Output: Value is one
12print(switch_example(4)) # Output: Unknown value
পদ্ধতি ২: ডিকশনারি ব্যবহার করা
ডিকশনারিতে ফাংশন বা মান ম্যাপিং করে, একটি switch
বিবৃতির মতো কাঠামো তৈরি করা সম্ভব। যখন আপনি নির্দিষ্ট মানগুলির জন্য বিভিন্ন অপারেশন সম্পাদন করতে চান তখন এটি সুবিধাজনক।
1def case_one():
2 return "Value is one"
3
4def case_two():
5 return "Value is two"
6
7def case_default():
8 return "Unknown value"
9
10def switch_example(value):
11 switch_dict = {
12 1: case_one,
13 2: case_two
14 }
15
16 # Use get() method to retrieve the corresponding function from the dictionary
17 # If the value is not found in the dictionary, use case_default as a fallback
18 return switch_dict.get(value, case_default)()
19
20print(switch_example(1)) # Output: Value is one
21print(switch_example(3)) # Output: Unknown value
পদ্ধতি ৩: match
বিবৃতি (Python 3.10 এবং তার পরবর্তী সংস্করণ)
match
বিবৃতিটি Python 3.10 এ চালু করা হয়। এটি একটি প্যাটার্ন মিলন সিনট্যাক্স যা একটি switch
বিবৃতির মতো কার্যকারিতা প্রদান করে।
1def switch_example(value):
2 match value:
3 case 1:
4 return "Value is one"
5 case 2:
6 return "Value is two"
7 case 3:
8 return "Value is three"
9 case _:
10 return "Unknown value"
11
12print(switch_example(1)) # Output: Value is one
13print(switch_example(4)) # Output: Unknown value
সারসংক্ষেপ
if-elif-else
বিবৃতি: সহজ এবং অনেক ক্ষেত্রের জন্য উপযোগী।- ডিকশনারি: কার্যকর বিভাজনের জন্য ফাংশন বা মানের ম্যাপিং ব্যবহার করুন।
match
বিবৃতি: Python 3.10 এবং তার পরবর্তী সংস্করণে আরও স্বজ্ঞাত বিভাজনকে অনুমতি দেয়।switch
বিবৃতির সাথে সবচেয়ে মিল রাখে।
Python-এ For লুপসমূহ
পাইথনের for
স্টেটমেন্টটি তালিকা, স্ট্রিং বা ডিকশনারির মতো ইটারেবল অবজেক্টের প্রতিটি উপাদানের ওপর পুনরাবৃত্তি করতে ব্যবহৃত হয়। for
বিবৃতির মৌলিক সিনট্যাক্স নিচের মতো হয়ঃ।
1# Loop through each item in the iterable
2for variable in iterable:
3 # Execute this block of code for each item in the iterable
4 code_to_execute
এখানে কিছু নির্দিষ্ট উদাহরণ আছেঃ।
লিস্ট ব্যবহার করে উদাহরণ
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
এই কোডটি fruits
লিস্টের প্রতিটি উপাদানের জন্য print
ফাংশন কল করে, যার মাধ্যমে প্রতিটি ফলের নাম আউটপুট হয়।
range()
ব্যবহার করে উদাহরণ
range()
ফাংশন একটি নির্দিষ্ট রেঞ্জের মধ্যে পূর্ণসংখ্যাগুলি তৈরি করে, যা সংখ্যার পুনরাবৃত্তির জন্য উপকারী।
1for i in range(5):
2 print(i)
range(5)
০ থেকে ৪ পর্যন্ত পূর্ণসংখ্যাগুলি তৈরি করে। এই ক্ষেত্রে, 0, 1, 2, 3, 4
ক্রমানুসারে আউটপুট হবে।
ডিকশনারি ব্যবহার করে উদাহরণ
ডিকশনারির ক্ষেত্রে, ডিফল্টভাবে কীগুলি পুনরাবৃত্তি করা হয়, তবে আপনি কীগুলি এবং তাদের মানগুলি একসাথে নিতে পারেন।
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
বিকল্পভাবে, কী এবং মানগুলি একসঙ্গে গ্রহণ করার জন্য items()
পদ্ধতিটি ব্যবহার করুন।
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
নেস্টেড for
লুপ
for
লুপগুলিকে নেস্ট করা সম্ভব যাতে জটিল পুনরাবৃত্তি প্রক্রিয়া সম্পাদন করা যায়।
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
এই কোডটি তালিকা matrix
এর প্রতিটি সারি দিয়ে পুনরাবৃত্তি করে এবং প্রতিটি সারির সংখ্যাগুলি পরপর আউটপুট করে।
continue
ব্যবহার করে একটি পুনরাবৃত্তি বাদ দিতে এবং break
ব্যবহার করে একটি লুপ বন্ধ করতে পারেন।
for
লুপের মধ্যে continue
ব্যবহার করলে বর্তমান পুনরাবৃত্তি বাদ দেওয়া হবে এবং পরবর্তীটিতে সরানো হবে। এর পাশাপাশি, break
ব্যবহার করলে সম্পূর্ণ লুপটি বন্ধ হয়ে যাবে।
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
এই উদাহরণে, যখন i
হয় ৫ তখন লুপটি বাদ দেওয়া হয় এবং যখন i
হয় ৮ তখন এটি বন্ধ হয়। ফলে আউটপুট হবে 0, 1, 2, 3, 4, 6, 7
।
পাইথনের for
লুপ অত্যন্ত নমনীয় এবং এটি বিভিন্ন পরিস্থিতিতে ব্যবহার করা যেতে পারে। আপনি যে ধরণের পুনরাবর্তনমূলক প্রক্রিয়া সম্পাদন করতে চান তার উপর নির্ভর করে এটি তালিকা, ডিকশনারি, স্ট্রিং এবং range()
-এর সাথে একত্রে ব্যবহার করা যেতে পারে।
Python এ while
লুপ
Python এ, while
লুপ একটি নিয়ন্ত্রণ কাঠামো যা ব্লকের কোডটি পুনরাবৃত্তি করে যতক্ষণ না শর্তটি True
থাকে। while
লুপের মৌলিক সিনট্যাক্স নিম্নরূপ:।
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
উদাহরণ:
নিম্নলিখিত উদাহরণে, while
লুপ ব্যবহার করা হয়েছে ১ থেকে ৫ পর্যন্ত সংখ্যা আউটপুট করার জন্য।
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
এই কোড নিম্নরূপ কাজ করে।
i
-কে ১ দিয়ে শুরু করুন, যতক্ষণi
৫ কিংবা তার চেয়ে ছোট বা সমান, ততক্ষণi
-কে প্রিন্ট করুন এবং প্রতিবার ১ করে বৃদ্ধি করুন।
নোট:
while
স্টেটমেন্ট ব্যবহার করার সময় আপনাকে নিম্নলিখিত বিষয়গুলো মনে রাখতে হবে।
-
অনন্ত লুপ (infinite loop) থেকে সতর্ক থাকুন
- যদি
while
লুপের শর্ত সবসময়True
হয়, তাহলে এটি একটি অনন্ত লুপ তৈরি করবে। শর্তটি পরিবর্তন করার জন্য যথাযথ কার্যক্রম নেওয়া প্রয়োজন; নাহলে প্রোগ্রামটি বন্ধ হবে না।
- যদি
-
break
এবংcontinue
এর ব্যবহার:break
ব্যবহৃত হয় যখন আপনি লুপটি আগেভাগেই ছেড়ে যেতে চান।continue
বর্তমান পুনরাবৃত্তি (iteration) বাদ দিয়ে পরবর্তী পুনরাবৃত্তি শুরু করে। সতর্ক থাকুন, কারণ ভুল লুপ শর্ত অনন্ত লুপ তৈরি করতে পারে।
break
-এর উদাহরণ:
1i = 1
2while i <= 5:
3 if i == 3:
4 break # Exit the loop when i becomes 3
5 print(i)
6 i += 1
- এই ক্ষেত্রে,
1
এবং2
আউটপুট হওয়ার পরে, যখনi
3
হয় তখন লুপটি শেষ হয়।
continue
-এর উদাহরণ:
1i = 0
2while i < 5:
3 i += 1
4 if i == 3:
5 # Skip the print statement and move to the next loop iteration when i is 3
6 continue
7 print(i)
- এই ক্ষেত্রে, কেবলমাত্র
3
এর জন্য আউটপুট এড়ানো হয়, যার ফলে1, 2, 4, 5
হয়। - লুপের শুরুতেই
i
-এর মান বাড়ানোর মাধ্যমে কাউন্টারটি এগিয়ে যায়, এমনকিcontinue
কার্যকর হলেও; এতে অনন্ত লুপ প্রতিরোধ করা যায়।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।