লুপ যেকোনো প্রোগ্রামিং বা স্ক্রিপ্টিং ল্যাঙ্গুয়েজের একটি অপরিহার্য বৈশিষ্ট্য। একটি টাস্ক একাধিকবার এক্সিকিউট করার ক্ষমতা যেকোনো ল্যাঙ্গুয়েজের জন্য ফান্ডামেন্টাল।
পাইথনে, লুপিং অর্জন করা হয় for এবং while লুপের মাধ্যমে এবং এই আর্টিকেলে আমরা উদাহরণসহ দেখব কীভাবে তাদের ব্যবহার করতে হয়।
পাইথন for Loop
পাইথনে for লুপ বিভিন্নভাবে ব্যবহার করা যায়। একটি সহজ এবং সবচেয়ে সাধারণ উপায় হল একটি কালেকশনের ওপর ইটারেট করা।
সিনট্যাক্স
for i in collection:
statement
কালেকশন হতে পারে লিস্ট, সেট, রেঞ্জ, ইত্যাদি। i হল একটি ভেরিয়েবল যা ইটারেট হওয়া এলিমেন্টের ভ্যালু নেয়।
my_list = [1, 2, 3, 4, 5]
for i in my_list:
print("Value is:", i)
আউটপুট:
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
আপনি দেখতে পাচ্ছেন কীভাবে লিস্টটি শুরু থেকে শেষ পর্যন্ত ইটারেট হচ্ছে।
range() সহ for Loop
পাইথনে range মেথড একটি নির্দিষ্ট সীমার মধ্যে একটি সিকোয়েন্স তৈরি করতে ব্যবহৃত হয়। মনে করুন আপনার কাছে একটি লিস্ট নেই কিন্তু আপনি কিছু নির্দিষ্ট বার লুপ চালাতে চান। আপনি range() মেথড ব্যবহার করতে পারেন।
for i in range(5):
print(i)
আউটপুট:
0
1
2
3
4
দ্রষ্টব্য: ভ্যালুগুলো ০ থেকে ৪, ০ থেকে ৫ নয়।
range() ফাংশন একটি নাম্বার সিকোয়েন্স রিটার্ন করে, ডিফল্টভাবে ০ থেকে শুরু করে, ১ করে বৃদ্ধি পায় (ডিফল্টভাবে), এবং নির্দিষ্ট সংখ্যার আগে শেষ হয়।
যদি আমরা ভিন্ন শুরু মান এবং ভিন্ন ইনক্রিমেন্ট মান চাই, তবে ব্যবহার করি:
for i in range(10, 30, 5):
print(i)
আউটপুট:
10
15
20
25
উপরের উদাহরণে, আমরা ১০ থেকে শুরু করি, ২৫-এ শেষ করি এবং ৫ করে বৃদ্ধি পাই।
else সহ for Loop
for লুপে else কীওয়ার্ড লুপ শেষ হওয়ার পর এক্সিকিউট হওয়া কোড ব্লক নির্দিষ্ট করে।
for i in range(6):
print(i)
else:
print("Finished looping.")
আউটপুট:
0
1
2
3
4
5
Finished looping.
দ্রষ্টব্য: if স্টেটমেন্টে, else ব্লক শুধু কন্ডিশন false হলে এক্সিকিউট হয়, কিন্তু for লুপে, else ব্লক সবসময় এক্সিকিউট হয়।
নেস্টেড for Loops
আমরা একটি for লুপের ভিতর একটি অন্য for লুপ রাখতে পারি। এটি নেস্টেড লুপ বলা হয়।
"ইনার লুপ" "আউটার লুপ"-এর প্রতিটি ইটারেশনের জন্য একবার এক্সিকিউট হবে।
উদাহরণ:
numbers = [1, 2, 3]
chars = ["a", "b", "c"]
for i in numbers:
for y in chars:
print(i, y)
আউটপুট:
1 a
1 b
1 c
2 a
2 b
2 c
3 a
3 b
3 c
পাইথন While loop
while লুপ একটি স্টেটমেন্ট সেট এক্সিকিউট করে যতক্ষণ না একটি কন্ডিশন true থাকে।
উদাহরণ:
i = 1
while i < 5:
print("Hello world")
i = i + 1
দ্রষ্টব্য: i-এর মান ইনক্রিমেন্ট করতে হবে, অন্যথায় লুপ চিরকাল চলবে।
else সহ While loop
while লুপের ভিতর else স্টেটমেন্ট একবার এক্সিকিউট হয় যখন কন্ডিশন আর true না থাকে।
উদাহরণ:
i = 1
while i < 5:
print("Hello world")
i = i + 1
else:
print("The execution has ended")
আউটপুট:
Hello world
Hello world
Hello world
Hello world
The execution has ended
while Loop-এ break ব্যবহার
break স্টেটমেন্ট ব্যবহার করা হয় যদি আপনি একটি নির্দিষ্ট পয়েন্টে লুপের এক্সিকিউশন ভাঙতে চান।
নিচের উদাহরণে, আমরা লুপটি রোকতে চাই যখন "c" ক্যারেক্টার এনকাউন্টার হয়:
my_list = ['a', 'b', 'c', 'd', 'e']
for i in my_list:
print(i)
if i == 'c':
print("'c' encountered. Breaking the loop")
break
আউটপুট:
a
b
c
'c' encountered. Breaking the loop
while Loop-এ continue ব্যবহার
continue কীওয়ার্ড ব্যবহার করা হয় একটি স্টেটমেন্ট স্কিপ করে লুপের বাকি অংশ চালিয়ে যেতে একটি নির্দিষ্ট ইটারেশনের জন্য।
নিচের উদাহরণে, আমরা লুপ চালিয়ে যেতে চাই যখন "c" এনকাউন্টার হয়:
my_list = ['a', 'b', 'c', 'd', 'e']
for i in my_list:
if i == 'c':
continue
print(i)
আউটপুট:
a
b
d
e
দ্রষ্টব্য: "c" প্রিন্ট হয়নি। লুপ "d" এবং "e" প্রিন্ট করতে থাকে।
সারসংক্ষেপ
forএবংwhileলুপ ইটারেশনের জন্য ব্যবহৃত হয়- এগুলো একটি স্টেটমেন্ট সেট একাধিকবার এক্সিকিউট করতে বা একটি কালেকশন (যেমন লিস্ট) এর ওপর ইটারেট করতে ব্যবহৃত হয়
- পাইথনে
forলুপrange()মেথডসহ ব্যবহার করা যেতে পারে। আপনি হয় উভয় লোয়ার এবং আপার লিমিট দিতে পারেন বা শুধু আপার লিমিট। দ্বিতীয় কেসে, ০ ধরা হবে লোয়ার লিমিট forলুপ ব্যবহার করুন যখন আপনি জানেন লুপ কতবার এক্সিকিউট হওয়া উচিতwhileলুপের একটি কন্ডিশন থাকে এবং এটি কন্ডিশন false হওয়া পর্যন্ত চলেwhileলুপের সবসময় কন্ডিশন ভাঙার বা লুপ টার্মিনেট করার একটি মেকানিজম থাকা উচিত, অন্যথায় এটি চিরকাল চলবেwhileলুপ ব্যবহার করুন যখন আপনি না জানেন লুপ কতবার এক্সিকিউট হওয়া উচিতelseব্লকforএবংwhileলুপ দুটোর সাথেই ব্যবহার করা যায়। এটি সবসময় এক্সিকিউট হয়।breakকীওয়ার্ড এক্সিকিউশন টার্মিনেট করতে ব্যবহৃত হয়। break কীওয়ার্ড এনকাউন্টার হলে আর কোনো ইটারেশন হবে না।continueকীওয়ার্ড বর্তমান ইটারেশন স্কিপ করে সরাসরি পরবর্তী ইটারেশনে চলে যায়।