# if স্টেটমেন্ট

পাইথনে if স্টেটমেন্ট ব্যবহার করে নির্দিষ্ট একটি কন্ডিশনের উপর ভিত্তি করে কিছু স্টেটমেন্ট বা কোড ব্লককে রান করানো যায়। যদি একটি কন্ডিশন বা এক্সপ্রেশন সত্য হয় তাহলে এর আওতাভুক্ত স্টেটমেন্ট রান হয়।

উদাহরণ,

```python
if 10 > 5:
    print("10 greater than 5") # এই স্টেটমেন্টটি if কন্ডিশনের এর আওতাভুক্ত
    print("IF scope finished")    # এই স্টেটমেন্টটিও if কন্ডিশনের এর আওতাভুক্ত

print("Program ended") # এই স্টেটমেন্টটি if কন্ডিশনের এর আওতাভুক্ত নয়
```

আউটপুট,

```python
10 greater than 5
IF scope finished
Program ended
```

উপরের প্রোগ্রামে if কন্ডিশন দিয়ে চেক করা হচ্ছে 5 এর চেয়ে 10 বড় কিনা। বড় হলে এর ভিতরের দুই লাইন এক্সিকিউট হচ্ছে। যেহেতু এটা সত্য কন্ডিশন। তাই `10 greater than 5` এবং `IF scope finished` লাইন প্রিন্ট হচ্ছে। আবার, `Program ended` লাইনটি এসব কন্ডিশন এর বাইরের একটি সাধারণ স্টেটমেন্ট। আর তাই এই লাইনটিও সাধারণভাবেই প্রিন্ট হচ্ছে।

আর হ্যাঁ, এই যে বলা হচ্ছে if স্টেটমেন্টের আওতাভুক্ত বা আওতাভুক্ত নয়, এটি নির্ধারণ হয় `indentation` তথা স্টেটমেন্টের সামনে যথাযথ হোয়াইট স্পেস ব্যবহার করে। উপরের উদাহরণে `if 10 > 5:` হচ্ছে কন্ডিশন বা এক্সপ্রেশন। এর নিচের দুই লাইন কিন্তু if এর আওতাভুক্ত কারন এর সামনে `indentation` বা স্পেস ব্যবহার করে ডান দিকে সরিয়ে নেয়া হয়েছে। অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজে এই কাজটি করা হয়ে থাকে `{ }` ব্যবহার করে। অর্থাৎ নিচের মত,

```c
if (condition) {
statement
}
```

পাইথনে `indentation` বাধ্যতামূলক অন্যথায় এরর তৈরি হবে।

> উপরের উদাহরণের প্রোগ্রামটির মধ্যে একাধিক `indentation` এর একাধিক স্টেটমেন্ট লাইন থাকায় পাইথন কনসোলে রান করা যাবে না। স্টেটমেন্ট গুলো নিয়ে একটি পাইথন ফাইল তৈরি করে অতঃপর রান করা যাবে অথবা IDE তে রান করা যাবে।

**নেস্টেড if**

```python
num = 12
if num > 5:
    print("Bigger than 5")
    if num <= 47:
        print("Between 6 and 47")
```

আউটপুট,

```python
Bigger than 5
Between 6 and 47
```

উপরের উদাহরণে, প্রথমে একটি if এক্সপ্রেশন আছে এবং এর আওতাভুক্ত স্টেটমেন্ট এর মধ্যে আরও একটি if এক্সপ্রেশন আছে। প্রথম if কন্ডিশন সত্য হলে যথাযথ ভাবে এর ভিতরের স্টেটমেন্ট রান হয় এবং সেখানে সাধারণ স্টেটমেন্টের মত করেই একটি if এক্সপ্রেশন আছে যেটাও রান হয় তথা এটির সত্যতা নির্ণয় করে পরবর্তী স্টেটমেন্ট রান করে।


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://python.howtocode.dev/control-structure/if.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
