মূলঃ Python For Loop - For i in Range Example, লেখকঃ Jeremy L Thompson

অন্যান্য সব প্রোগ্রামিং ল্যাংগুয়েজ-এর মতোই পাইথন এও মূল কন্ট্রোল স্ট্রাকচারগুলির একটি হল লুপ।

এ আর্টিকেল-এ পাইথন-এর range() ফাংশনটি ব্যবহার করে আমরা for লুপ এর কয়েকটি উদাহরণ দেখবো।

পাইথন-এ for লুপ

প্রদত্ত এক সেট মানের জন্য for লুপ কোডের একটি নির্দিষ্ট অংশকে বার বার চালায়।

পাইথন-এর ডকুমেন্টেশন-এ যেমনটা বলা হয়েছে, জাভাস্ক্রিপ্ট বা C-এর মতো ল্যাংগুয়েজ এর তুলনায় পাইথনে for লুপ একটু ভিন্নভাবে কাজ করে।

একটি for লুপ প্রদত্ত একটি লিস্ট,অ্যারে বা স্ট্রিং এর প্রত্যেকটি মানকে ইটারেটর ভ্যারিয়েবলের মান হিসেবে সেট করে, এবং ইটারেটর ভেরিয়েবলটির প্রত্যেকটি মান-এর জন্য for লুপ-এর বডিতে থাকা কোডটি পুনরাবৃত্তি করে।

নিচের উদাহরণটিতে, আমাদের অ্যারের প্রত্যেকটি সংখ্যা প্রিন্ট করতে আমরা একটি for লুপ ব্যবহার করবো।

# Example for loop
for i in [1, 2, 3, 4]:
    print(i, end=", ") # prints: 1, 2, 3, 4,

আমরা for লুপ-এর বডিতে আরো জটিল লজিকও যুক্ত করতে পারি। এ উদাহরণটিতে আমরা আমাদের ইটারেটর ভেরিয়েবল-এর মান-এর উপর ভিত্তি করে ছোট একটি গণনার ফলাফল প্রিন্ট করবো।

# More complex example
for i in [1, 3, 5, 7, 9]:
    x = i**2 - (i-1)*(i+1)
    print(x, end=", ") # prints 1, 1, 1, 1, 1, 

for লুপে ব্যবহৃত অ্যারের মানগুলি অনুক্রমিক হলে আমরা অ্যারের কন্টেন্টগুলি এক এক করে না লিখে পাইথনের range() ফাংশন ব্যবহার করতে পারি।

পাইথন-এ range() ফাংশন

range() ফাংশনটি ফাংশন-এর আর্গুমেন্ট-এর উপর ভিত্তি করে ক্রমানুসারে পূর্ণসংখ্যা সরবরাহ করে। range() ফাংশন নিয়ে আরো তথ্য পাইথন-এর ডকুমেন্টেশন-এ পাওয়া যাবে।

range(stop)
range(start, stop[, step])

রেঞ্জ-এ start আর্গুমেন্টটি হচ্ছে সর্বপ্রথম মান। যদি শুধুমাত্র একটি আর্গুমেন্ট দিয়ে range() ব্যবহার করা হয়, তাহলে পাইথন start = 0 ধরে নেয়।

stop আর্গুমেন্টটি হচ্ছে রেঞ্জ-এর ঊর্ধ্বসীমা। ঊর্ধ্বসীমার এই মানটি যে রেঞ্জ-এর ভেতরে যুক্ত হবে না সেটি মনে রাখা দরকার।

নিচের উদাহরণটিতে আমরা একটি রেঞ্জ ধরেছি, যেটি সয়ংক্রিয়ভাবে শুরু হয় 0 মানটি দিয়ে, এবং 5 এর চেয়ে কম সব পূর্ণসংখ্যা এর অন্তর্ভুক্ত।

# Example with one argument
for i in range(5):
    print(i, end=", ") # prints: 0, 1, 2, 3, 4, 

এরপরের উদাহরণ-এ আমরা start = -1 নির্ধারণ করবো এবং আবার 5 এর কম সকল পূর্ণসংখ্যা যুক্ত করবো।

# Example with two arguments
for i in range(-1, 5):
    print(i, end=", ") # prints: -1, 0, 1, 2, 3, 4, 

রেঞ্জ-এর মান কতো হারে বাড়বে সেটি নিয়ন্ত্রণ করার জন্য আমরা step ব্যবহার করি, যদিও সেটি বাধ্যতামূলক নয়। স্বয়ংক্রিয়ভাবে step = 1

আমাদের শেষ উদাহরণটিতে আমরা -1 থেকে 5 পর্যন্ত পূর্ণসংখ্যার রেঞ্জ ব্যবহার করবো, আর step = 2 নির্ধারিত করবো।

# Example with three arguments
for i in range(-1, 5, 2):
    print(i, end=", ") # prints: -1, 1, 3,

সারসংক্ষেপ

এ আর্টিকেল-এ আমরা পাইথন-এর for লুপ এবং range() ফাংশন এর ব্যবহার দেখেছি।

for লুপ একটি লিস্ট, অ্যারে, স্ট্রিং বা range()-এর প্রত্যেকটি মানের জন্য কোডের একটি নির্দিষ্ট অংশ পুনরাবৃত্তি করে।

আমরা for লুপ লেখা সহজ করার জন্য একটি range() ব্যবহার করতে পারি। range()-এর stop মান অবশ্যই নির্দিষ্ট করে দিতে হবে, কিন্তু তাছাড়া আমরা start-এর মান এবং range()-এর ভেতর পূর্ণসংখ্যার step-ও পরিবর্তন করতে পারি।