# for লুপ

### পরিচিতি

পাইথনে, `for` লুপ ব্যবহার হয় একটি নির্দিষ্ট নম্বর এবং ইটারেটেবল আইটেমগুলির উপর পর্যবেক্ষণ করার জন্য। লুপটি প্রত্যেক আইটেমের জন্য একটি ব্লক কোড চালাতে সাহায্য করে।

### সিনট্যাক্স

```python
for item in iterable:
    # এই ব্লক কোড প্রতিটি আইটেমের জন্য চলবে
    # ব্লকের কোড
```

### উদাহরণ

চলুন একটি উদাহরণে দেখা যাক কিভাবে `for` লুপ কাজ করে:

```python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print("I love", fruit)
```

উপরের কোডটি আউটপুট হিসেবে নিম্নরূপ দেবে:

```bash
I love apple
I love banana
I love cherry
```

### উদাহরণের ব্যাখ্যা

* আমরা `fruits` নামক একটি লিস্ট ডেক্লেরেশন করেছি যেখানে পাঁচটি ফলের নাম রয়েছে।
* `for` লুপের সাহায্যে, প্রত্যেক আইটেমের জন্য ব্লক কোড চালানোর জন্য আমরা `fruit` ভেরিয়েবল ব্যবহার করেছি।
* প্রিন্ট স্টেটমেন্ট ব্যবহার করে আমরা প্রতিটি ফলের নাম প্রিন্ট করেছি।

### `range()` ফাংশন এবং `for` লুপ

`range()` ফাংশন ব্যবহার করে `for` লুপের সাথে পুনরাবৃত্তির নির্দিষ্ট সংখ্যক ইটারেশন ব্যবহার করা যায়:

```
for num in range(5):
    print(num)
```

এই উদাহরণে, `range(5)` এর মাধ্যমে সংখ্যা 0 থেকে 4 পর্যন্ত চলে যাবে, এবং প্রতিটি সংখ্যা প্রিন্ট হবে।

**Output**

```
0
1
2
3
4
```

**আমরা চাচ্ছি ১ থেকে দশ পর্যন্ত বিজোড় সংখ্যা দেখতে তাহলে**

```
for num in range(1,10,2):
    print(num)
```

**Output**

```bash
1
3
5
7
9
```

### `enumerate()` ফাংশন এবং `for` লুপ

`enumerate()` ফাংশন ব্যবহার করে আপনি আইটেমের সাথে একটি সিরিয়াল নম্বর পেতে পারেন:

```python
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print("Index:", index, "Fruit:", fruit)
```

**Output**

```python
Index: 0 Fruit: apple
Index: 1 Fruit: banana
Index: 2 Fruit: cherry
```

অনেক সময় আমাদের লুপের ইনডেক্স নাম্বার অনুযায়ী কাজ করতে হয় যেমন পাঁচটা আইটেম আছে প্রথম তিনটা প্রিন্ট করবো।

```python
fruits = ["apple", "banana", "cherry",'orange','mango']
for index, fruit in enumerate(fruits):
    print("Index:", index, "Fruit:", fruit)
    if index == 2:
        break
```

**Output**

```python
Index: 0 Fruit: apple
Index: 1 Fruit: banana
Index: 2 Fruit: cherry
```
