4️⃣ شرطهای ترنری (Ternary Operator)
برای شرطهای ساده که فقط دو حالت دارن، به جای if-else از ترنری استفاده کن تا کدت کوتاهتر بشه.
❌ مثال معمولی:
if age >= 18:
status = "bozorgsal"
else:
status = "nojavoon"
✅ مثال ترنری:
status = "bozorgsal" if age >= 18 else "nojavoon"
💡 نکته:
ترنری فقط برای شرطهای ساده مناسبه. اگه شرط پیچیدهست، از if-else معمولی استفاده کن تا کد خواناتر بمونه.
میتونی ترنری رو تو لیستها یا حلقهها هم استفاده کنی:
labels = ["bozorgsal" if age >= 18 else "nojavoon" for age in ages]
💯 @PythonForYou 🧑💻👩💻
5️⃣ مراقب تورفتگی (Indentation) باش!
تو پایتون، تورفتگی (معمولاً 4 فاصله یا 1 تب) خیلی مهمه. اگه تورفتگی اشتباه باشه، کدت ارور میده یا رفتار اشتباه داره.
❌ مثال اشتباه:
if age >= 18:
print("Mitoni ranandegi koni!") # SyntaxError: expected an indented block
✅ مثال درست:
if age >= 18:
print("Mitoni ranandegi koni! 🚗")
💡 ترفند:
- همیشه از فاصله (space) به جای تب استفاده کن، چون تب تو بعضی ویرایشگرها مشکل ایجاد میکنه.
- تو ویرایشگرهایی مثل VS Code، تنظیم کن که تب بهطور خودکار به 4 فاصله تبدیل بشه.
💯 @PythonForYou 🧑💻👩💻
6️⃣ اجتناب از شرطهای پیچیده و تودرتو
شرطهای خیلی تودرتو (مثل if داخل if داخل if) کد رو سختخوان میکنه.
❌ مثال بد:
if age >= 18:
if has_license:
if car_available:
print("Mitoni ranandegi koni! 🚗")
else:
print("Mashin nadari! 🚫")
else:
print("Govahinama nadari! 📝")
else:
print("Koochiki! 😊")
✅ ترفند:
به جای تودرتو کردن، شرطها رو با and ترکیب کن یا از تابع جدا استفاده کن:
if age >= 18 and has_license and car_available:
print("Mitoni ranandegi koni! 🚗")
elif age >= 18 and not has_license:
print("Govahinama nadari! 📝")
elif age >= 18 and not car_available:
print("Mashin nadari! 🚫")
else:
print("Koochiki! 😊")
💡 نکته:
اگه شرطها خیلی پیچیده شدن، منطق رو به یه تابع منتقل کن:
def can_drive(age, has_license, car_available):
if age < 18:
return "Koochiki! 😊"
if not has_license:
return "Govahinama nadari! 📝"
if not car_available:
return "Mashin nadari! 🚫"
return "Mitoni ranandegi koni! 🚗"
print(can_drive(20, True, True))
💯 @PythonForYou 🧑💻👩💻
7️⃣ بررسی مقادیر None و خالی
وقتی با متغیرهایی کار میکنی که ممکنه None یا خالی باشن (مثل لیست، رشته، یا دیکشنری)، مراقب باش که ارور نگیری.
❌ مثال خطرناک:
data = None
if data["key"]: # TypeError: 'NoneType' object is not subscriptable
print("Data vojood dare!")
✅ مثال درست:
data = None
if data is not None and "key" in data:
print("Data vojood dare!")
else:
print("Data khalie ya None ast! 😕")
💡 ترفند:
برای بررسی خالی بودن لیست، رشته، یا دیکشنری، از if data استفاده کن:
my_list = []
if not my_list:
print("List khalie! 📭")
💯 @PythonForYou 🧑💻👩💻
8️⃣ استفاده از is به جای == برای None
برای مقایسه با None، از عملگر is به جای == استفاده کن.
❓ چرا؟ چون is بررسی میکنه که متغیر دقیقاً None باشه، نه یه مقدار مشابه.
✅ مثال:
value = None
if value is None:
print("Value None ast! 🚫")
else:
print("Value chizi digast! ✅")
💡 نکته: برای مقایسه مقادیر بولین یا اعداد، از == استفاده کن، اما برای None همیشه is بهتره.
💯 @PythonForYou 🧑💻👩💻
9️⃣ شرطهای چندگانه با all و any
اگه چندتا شرط داری، به جای نوشتن and یا or طولانی، از توابع داخلی all و any استفاده کن.
➡️ all:
اگه همه شرطها درست باشن، True برمیگردونه.
➡️ any:
اگه حداقل یکی از شرطها درست باشه، True برمیگردونه.
🔸 مثال با and:
if score1 >= 50 and score2 >= 50 and score3 >= 50:
print("Hame nomreha ghaboolan! 🌟")
🔹 مثال با all:
scores = [score1, score2, score3]
if all(score >= 50 for score in scores):
print("Hame nomreha ghaboolan! 🌟")
🔸 مثال با any:
if any(score >= 90 for score in scores):
print("Yek nomre A dari! 🎉")
💡 نکته: all و any کد رو تمیزتر و خواناتر میکنن، مخصوصاً وقتی تعداد شرطها زیاده.
💯 @PythonForYou 🧑💻👩💻
🔟 دیباگ کردن شرطها
اگه شرطهات درست کار نمیکنن، با چاپ مقادیر دیباگ کن:
age = 17
has_license = False
print(f"age: {age}, has_license: {has_license}") # check kardane meghdarha
if age >= 18 and has_license:
print("Mitoni ranandegi koni! 🚗")
else:
print("Nemitooni ranandegi koni! 😕")
💡 ترفند:
از assert برای چک کردن شرطها تو کد استفاده کن:
assert age >= 0, "Sen nabayad manfi bashe!"
💯 @PythonForYou 🧑💻👩💻
📢 10 مثال کاربردی و جذاب از ساختارهای تصمیمگیری در پایتون 🐍
تو این پست، 10 تا مثال واقعی و کاربردی از ساختارهای if, elif, else براتون آماده کردیم که تو پروژههای واقعی خیلی به کارتون میاد! 😎
از بررسی سن تا محاسبه تخفیف و تحلیل داده، همهچیز اینجاست. بریم ببینیم! 🚀
1️⃣ بررسی دسترسی کاربر به سیستم
💯 کاربرد: چک کردن اینکه کاربر میتونه وارد سیستم بشه یا نه.
username = "ali"
password = "1234"
if username == "ali" and password == "1234":
print("Khosh omadi, Ali! ✅")
else:
print("Username ya password ghalate! 🚫")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
2️⃣ محاسبه تخفیف فروشگاه
💯 کاربرد: اعمال تخفیف بر اساس مبلغ خرید.
purchase_amount = 150000
if purchase_amount > 200000:
discount = purchase_amount * 0.2
print(f"Takhfif: {discount} toman")
elif purchase_amount > 100000:
discount = purchase_amount * 0.1
print(f"Takhfif: {discount} toman")
else:
print("Takhfifi nadari! 🛒")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
3️⃣ تشخیص نوع روز (تعطیل یا کاری)
💯 کاربرد: بررسی روز هفته برای برنامهریزی.
day = "jom'e"
if day in ["shanbe", "jom'e"]:
print("Emrooz tatil ast! 😎")
else:
print("Emrooz rooze kari ast! 💼")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
4️⃣ بررسی سلامت رمز عبور
💯 کاربرد: چک کردن اینکه رمز عبور قوی هست یا نه.
password = "Pass123"
if len(password) >= 8 and any(c.isupper() for c in password) and any(c.isdigit() for c in password):
print("Ramz ghavi ast! 🔒")
else:
print("Ramz za'ife, lotfan behtar kon! ⚠️")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
5️⃣ پیشنهاد لباس بر اساس دمای هوا
💯 کاربرد: توصیه به کاربر بر اساس دمای هوا.
temperature = 10
if temperature > 25:
print("T-shirt bepoosh! ☀️")
elif temperature > 15:
print("Polo bepoosh! 😊")
elif temperature > 5:
print("Jacket bepoosh! 🧥")
else:
print("Khatere, koot bepoosh! 🧣")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
6️⃣ بررسی موجودی انبار
💯 کاربرد: مدیریت انبار فروشگاه یا شرکت.
stock = 5
if stock == 0:
print("Mojoodi tamoom shod! 🚫")
elif stock <= 10:
print(f"Hoshdar: {stock} ta mojoodi baghi mande! ⚠️")
else:
print("Mojoodi kafi ast! ✅")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
7️⃣ دستهبندی نمره امتحان
💯 کاربرد: دادن رتبه به دانشآموز بر اساس نمره.
score = 92
if score >= 90:
print("Nomre A: Aali! 🌟")
elif score >= 80:
print("Nomre B: Khoob! 👍")
elif score >= 70:
print("Nomre C: Ghabool! 😊")
else:
print("Mardood shodi, talash kon! 😅")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
8️⃣ بررسی سن برای دسترسی به محتوا
💯 کاربرد: محدود کردن دسترسی به فیلم یا بازی بر اساس سن.
age = 16
has_parent_permission = False
if age >= 18 or (age >= 13 and has_parent_permission):
print("Mitooni film ro bebini! 🎬")
else:
print("Dastresi nadari! 🚫")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
9️⃣ تشخیص عدد زوج یا فرد
💯 کاربرد: بررسی ویژگیهای عدد در مسائل ریاضی.
number = 42
result = "zoj" if number % 2 == 0 else "fard"
print(f"Adad {number} {result} ast! 🔢")
⬟〰️⬟〰️⬟〰️⬟〰️⬟
🔟 اعتبارسنجی ایمیل ساده
💯 کاربرد: چک کردن فرمت اولیه ایمیل کاربر.
email = "ali@example.com"
if "@" in email and "." in email and len(email) > 5:
print("Email format doroste! 📧")
else:
print("Email ghalate, dobare vared kon! ❌")
💯 @PythonForYou 🧑💻👩💻
📌 برعکس کردن رشته در پایتون با ترکیب ()reversed و ()join
اگر بخوای یک رشته رو در پایتون بهصورت برعکس نمایش بدی، میتونی از ترکیب دو تابع ()reversed و ()join استفاده کنی:
text = "Python"
reversed_text = ''.join(reversed(text))
print(reversed_text) # خروجی: nohtyP
✅ نکات مهم:
🔹 این ()reversed یک iterator برمیگردونه که حروف رشته رو بهصورت برعکس تولید میکنه.
🔹 با ()join میتونی این حروف رو بههم بچسبونی و رشته نهایی بسازی.
🔹 این روش وقتی مفیده که بخوای کنترل بیشتری روی روند کار داشته باشی (مثلاً حروف خاص رو فیلتر کنی یا جداکننده بذاری).
مثال حرفهایتر:
text = "Python"
reversed_with_dash = '-'.join(reversed(text))
print(reversed_with_dash) # خروجی: n-o-h-t-y-P
💯 @PythonForYou 🧑💻👩💻
🔥 تورفتگی تو پایتون و شرطهای if: یه راز مهم! 🐍
تازه با if تو پایتون آشنا شدید؟ پس این پست برای شماست! یه قانون طلایی تو پایتون هست که باید یادتون بمونه: مراقب تورفتگی باشید! 😅
💡 تورفتگی چیه؟
تورفتگی یعنی فاصلهای که اول خط میذارید تا به پایتون بگید کدوم خطها زیر یه شرط if اجرا بشن. مثلاً مثل نقشهایه که به پایتون میگه: "هی، این خطها مال این شرطن!" 🗺
✅ یه مثال ساده:
if 5 > 3:
print("آره، 5 بزرگتر از 3ه!")
اینجا خط دوم باید یه کم (معمولاً 4 تا فاصله) از اول خط فاصله داشته باشه تا پایتون بفهمه زیر شرط ifه.
❌ اگه تورفتگی رو خراب کنیم چی میشه؟
اگه فاصله نذارید یا اشتباه فاصله بذارید، پایتون قاطی میکنه و ارور IndentationError میده! 😵 مثلاً:
if 5 > 3:
print("اوه، من خراب شدم!")
این کد کار نمیکنه چون خط دوم تورفتگی نداره.
🌟 نکتههای باحال برای تورفتگی درست:
همیشه از 4 فاصله (space) برای تورفتگی استفاده کنید.
اگه چند خط زیر if دارید، همه باید یه اندازه فاصله داشته باشن:
if 10 > 5:
print("10 بزرگتره!")
print("عالیه!")
فاصله و تب (Tab) رو قاطی نکنید! پایتون اینو دوست نداره. 🚫
💯 @PythonForYou 🧑💻👩💻
پایتون برای شما
🔥 تورفتگی تو پایتون و شرطهای if: یه راز مهم! 🐍 تازه با if تو پایتون آشنا شدید؟ پس این پست برای شما
چرا پایتون تب و فاصله رو قاطی نمیکنه؟
تو پایتون، تورفتگی (Indentation) مثل یه قانون طلاییه که به مفسر پایتون میگه کدوم خطها توی یه بلوک (مثل زیر یه شرط if) هستن. حالا پایتون برای خوندن تورفتگی خیلی حساسه! 😅
تب (Tab) و فاصله (Space) دو روش مختلف برای ایجاد تورفتگی هستن. یه تب معمولاً برابر با 4 یا 8 تا فاصلهست (بستگی به ویرایشگر کدت داره).
اگه تو یه فایل کد، یه جا از تب و یه جا از فاصله استفاده کنی، پایتون گیج میشه! چون نمیتونه بفهمه این دو تا تورفتگی یکسانن یا نه. این باعث ارور IndentationError میشه. 😵
مثال:
if 5 > 3:
print("این با 4 تا فاصله است")
print("این با یه تب است")
این کد ارور میده چون خط سوم با تب و خط دوم با فاصله تورفتگی داره.
چرا این مشکل پیش میاد؟ 🤔
پایتون از تورفتگی برای ساختار کد استفاده میکنه (برخلاف زبونای دیگه که از کروشه {} یا کلمههای خاص استفاده میکنن). اگه تب و فاصله قاطی بشن، مفسر پایتون نمیتونه درست تشخیص بده که کدوم خط کجاست.
راه حل؟ 🤗
یا فقط از فاصله (Space) استفاده کن (معمولاً 4 تا فاصله برای هر سطح تورفتگی).
یا فقط از تب (Tab) استفاده کن (ولی فاصله استانداردتره و بیشتر توصیه میشه).
ویرایشگرای کد مثل VSCode یا PyCharm میتونن تنظیم بشن که خودشون فاصله رو درست کنن و نذارن تب و فاصله قاطی بشن! 😎
💯 @PythonForYou 🧑💻👩💻
حتی اگه یک درصد احتمال موفقیت وجود دارد، با تمام توان بجنگید 🌺
💯 @PythonForYou 🧑💻👩💻