if Statement
Python-এ শর্ত পরীক্ষা করতে if statement ব্যবহার করা হয়। যখন কোনো condition True হয়, তখন indented block-এর কোড execute হয়। Python-এ curly braces {} নেই — indentation (সাধারণত 4 spaces) দিয়ে code block নির্ধারণ করা হয়:
# বেসিক if statement
age = 20
if age >= 18:
print("আপনি প্রাপ্তবয়স্ক") # condition True হলে execute হবে
print("আপনি ভোট দিতে পারবেন") # এটিও if block-এর অংশ
print("প্রোগ্রাম শেষ") # এটি সবসময় execute হবে (if-এর বাইরে)
Indentation-এর গুরুত্ব
Python-এ indentation হলো syntax-এর অংশ, শুধু style নয়। ভুল indentation দিলে IndentationError হবে:
# সঠিক ✅
if True:
print("Hello")
print("World")
# ভুল ❌ — IndentationError!
if True:
print("Hello") # indentation নেই!
# ভুল ❌ — অসমান indentation
if True:
print("Hello")
print("World") # extra space!
| Comparison Operator | অর্থ | উদাহরণ | ফলাফল |
|---|---|---|---|
== | সমান | 5 == 5 | True |
!= | সমান নয় | 5 != 3 | True |
> | বড় | 10 > 5 | True |
< | ছোট | 3 < 7 | True |
>= | বড় বা সমান | 5 >= 5 | True |
<= | ছোট বা সমান | 3 <= 2 | False |
if-else Statement
if-else ব্যবহার করলে দুটি পথের মধ্যে একটি বেছে নেওয়া যায় — condition True হলে if block চলে, False হলে else block চলে:
# if-else: দুই পথের সিদ্ধান্ত
temperature = 38
if temperature > 37:
print("⚠️ জ্বর আছে!")
print("ডাক্তার দেখান")
else:
print("✅ তাপমাত্রা স্বাভাবিক")
print("চিন্তার কিছু নেই")
Logical Operators দিয়ে একাধিক শর্ত
একাধিক condition মিলিয়ে পরীক্ষা করতে and, or, not ব্যবহার করা হয়:
| Operator | অর্থ | উদাহরণ | ফলাফল |
|---|---|---|---|
and | দুটোই True হলে True | True and False | False |
or | যেকোনো একটি True হলে True | True or False | True |
not | উল্টো করে দেয় | not True | False |
# and — দুটো শর্তই পূরণ হতে হবে
age = 25
has_id = True
if age >= 18 and has_id:
print("ভোট দিতে পারবেন ✅")
# or — যেকোনো একটি পূরণ হলেই চলবে
day = "শনিবার"
if day == "শনিবার" or day == "রবিবার":
print("আজ ছুটির দিন! 🎉")
# not — শর্ত উল্টো করা
is_raining = False
if not is_raining:
print("বাইরে যেতে পারবেন ☀️")
if-elif-else Statement
দুইয়ের বেশি condition পরীক্ষা করতে elif (else if-এর সংক্ষিপ্ত রূপ) ব্যবহার করা হয়। Python উপর থেকে নিচে পরীক্ষা করে — প্রথম যেটি True পায়, সেটির block execute করে:
# গ্রেডিং সিস্টেম
marks = 78
if marks >= 80:
grade = "A+"
elif marks >= 70:
grade = "A"
elif marks >= 60:
grade = "A-"
elif marks >= 50:
grade = "B"
elif marks >= 40:
grade = "C"
elif marks >= 33:
grade = "D"
else:
grade = "F (ফেল)"
print(f"নম্বর: {marks}, গ্রেড: {grade}")
# Output: নম্বর: 78, গ্রেড: A
if— শুধু একটি থাকে, প্রথমেelif— শূন্য বা একাধিক থাকতে পারে, মাঝেelse— শূন্য বা একটি থাকে, সবশেষে- Python উপর থেকে নিচে পরীক্ষা করে — প্রথম True পেলেই থামে
else-এ কোনো condition নেই — বাকি সবকিছু catch করে
Nested Conditions
একটি if-এর ভিতরে আরেকটি if থাকলে তাকে Nested Condition বলে। জটিল সিদ্ধান্তের জন্য এটি প্রয়োজন হয়:
# ATM মেশিন সিমুলেশন
has_card = True
pin = 1234
balance = 5000
withdraw = 3000
if has_card:
entered_pin = 1234
if entered_pin == pin:
if withdraw <= balance:
balance -= withdraw
print(f"✅ {withdraw} টাকা উত্তোলন সফল!")
print(f"বাকি ব্যালেন্স: {balance} টাকা")
else:
print("❌ পর্যাপ্ত ব্যালেন্স নেই!")
else:
print("❌ ভুল PIN!")
else:
print("❌ কার্ড প্রবেশ করান")
Nested Condition এড়ানোর কৌশল
অতিরিক্ত nesting কোড পড়তে কঠিন করে। and ব্যবহার করে flatten করা যায়:
# Nested (কঠিন পড়তে) ❌
if has_card:
if entered_pin == pin:
if withdraw <= balance:
print("সফল!")
# Flattened (সহজ পড়তে) ✅
if has_card and entered_pin == pin and withdraw <= balance:
print("সফল!")
Ternary Operator
Python-এ এক লাইনে if-else লেখার সংক্ষিপ্ত পদ্ধতি হলো Ternary Operator বা Conditional Expression:
# সিনট্যাক্স: value_if_true if condition else value_if_false
# সাধারণ if-else (৪ লাইন)
age = 20
if age >= 18:
status = "প্রাপ্তবয়স্ক"
else:
status = "অপ্রাপ্তবয়স্ক"
# Ternary — একই কাজ এক লাইনে! ✅
status = "প্রাপ্তবয়স্ক" if age >= 18 else "অপ্রাপ্তবয়স্ক"
print(status) # প্রাপ্তবয়স্ক
| ব্যবহার | Ternary উদাহরণ | ফলাফল |
|---|---|---|
| Min/Max নির্ণয় | smaller = a if a < b else b | ছোটটি পাবে |
| জোড়/বিজোড় চেক | "জোড়" if n % 2 == 0 else "বিজোড়" | জোড় বা বিজোড় |
| Pass/Fail | "পাস" if marks >= 33 else "ফেল" | পাস বা ফেল |
| Absolute value | x if x >= 0 else -x | ধনাত্মক মান |
# Nested ternary (ব্যবহার কম করুন — পড়তে কঠিন) marks = 85 result = "A+" if marks >= 80 else "A" if marks >= 70 else "B" if marks >= 60 else "F" print(result) # A+
Python-এ condition-এর তিনটি মূল অংশ মনে রাখুন: If (যদি), Elif (নাহলে যদি), Not-else-but-else (অন্যথায়)। IEN — "যিন" বলে মনে রাখুন! আর মনে রাখবেন: : (colon) আর indentation ছাড়া Python কাজ করে না!
ব্যবহারিক প্রোগ্রাম
নিচে কিছু বাস্তব প্রোগ্রাম দেওয়া হলো যেখানে conditional statements ব্যবহার করা হয়েছে:
গ্রেড ক্যালকুলেটর
# পরীক্ষার গ্রেড ক্যালকুলেটর
bangla = int(input("বাংলা নম্বর: "))
english = int(input("ইংরেজি নম্বর: "))
math = int(input("গণিত নম্বর: "))
total = bangla + english + math
average = total / 3
print(f"\nমোট: {total}, গড়: {average:.2f}")
if average >= 80:
print("গ্রেড: A+ (অসাধারণ! 🌟)")
elif average >= 70:
print("গ্রেড: A (খুব ভালো!)")
elif average >= 60:
print("গ্রেড: A- (ভালো)")
elif average >= 50:
print("গ্রেড: B (মোটামুটি)")
elif average >= 33:
print("গ্রেড: D (পাস)")
else:
print("গ্রেড: F (ফেল ❌)")
অধিবর্ষ পরীক্ষক (Leap Year Checker)
# অধিবর্ষ চেক করার প্রোগ্রাম
year = int(input("সাল দিন: "))
if year % 400 == 0:
print(f"{year} একটি অধিবর্ষ ✅")
elif year % 100 == 0:
print(f"{year} অধিবর্ষ নয় ❌")
elif year % 4 == 0:
print(f"{year} একটি অধিবর্ষ ✅")
else:
print(f"{year} অধিবর্ষ নয় ❌")
# এক লাইনে:
is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(f"{year}: {'অধিবর্ষ' if is_leap else 'সাধারণ বছর'}")
সাধারণ লগইন সিস্টেম
# সাধারণ লগইন সিস্টেম
correct_user = "admin"
correct_pass = "python123"
max_attempts = 3
for attempt in range(1, max_attempts + 1):
username = input(f"চেষ্টা {attempt}/{max_attempts} — ইউজারনেম: ")
password = input("পাসওয়ার্ড: ")
if username == correct_user and password == correct_pass:
print("✅ লগইন সফল! স্বাগতম!")
break
elif username != correct_user:
print("❌ ভুল ইউজারনেম!")
else:
print("❌ ভুল পাসওয়ার্ড!")
else:
print("🔒 অনেক চেষ্টা! অ্যাকাউন্ট লক হয়ে গেছে।")