جزوه کامل دستورات شرطی پایتون
🎯هدف: یادگیری تصمیمگیری با شرطها و اجرای مسیرهای مختلف کد در پایتون
💡نکته: در پایتون میتوان شرط را بدون پرانتز نوشت. تشخیص بلوکها با تورفتگی (Indentation) انجام میشود؛ معمولاً ۴ فاصله برای هر سطح.
✅دستور if (شرط پایه)
چیست؟
اگر شرط درست باشد، بلوک کد اجرا میشود؛ اگر غلط باشد، از آن عبور میکند. شرط باید مقدار بولین True یا False برگرداند.
اگر شرط درست باشد، بلوک کد اجرا میشود؛ اگر غلط باشد، از آن عبور میکند. شرط باید مقدار بولین True یا False برگرداند.
نمونهی ساده
grade = 15
if grade > 10:
print("You passed exam")
You passed exam
🧭راهنما: از عملگرهای مقایسه مثل ==, !=, >, <, >=, <= برای ساختن شرطها استفاده میشود.
🧪۵ پروژه برای دستور if
🎮پروژه ۱: بررسی امتیاز بازی
صورت مسئله: برنامهای بنویس که اگر امتیاز بازیکن بیشتر از ۱۰۰ بود پیام «مرحله بعد!» را نمایش دهد؛ هدف نهایی: تشخیص عبور از حد نصاب مرحله.
مرحله بعد!
score = 120 if score > 100: print("مرحله بعد!")
- score = 120: مقدار امتیاز بازیکن را تعیین میکند.
- if score > 100:: شرط بررسی میکند آیا امتیاز بزرگتر از ۱۰۰ است.
- print(…): اگر شرط برقرار باشد پیام عبور از مرحله چاپ میشود.
🕒پروژه ۲: تأخیر مدرسه
صورت مسئله: اگر زمان ورود دانشآموز دیرتر از ۸:۰۰ بود پیام «دیر رسیدی!» نمایش داده شود؛ هدف: تشخیص تأخیر.
دیر رسیدی!
arrival_hour = 8 arrival_minute = 15 if arrival_hour >= 8 and arrival_minute > 0: print("دیر رسیدی!")
- arrival_hour/minute: ساعت و دقیقه ورود را مشخص میکنند.
- if arrival_hour >= 8 and arrival_minute > 0:: هم ساعت و هم دقیقه برای دیر بودن بررسی میشوند.
- print(…): پیام دیر رسیدن را چاپ میکند.
🍫پروژه ۳: تخفیف شکلات
صورت مسئله: اگر تعداد خرید بیشتر از ۳ بود، پیام «تخفیف اعمال شد» را نشان بده؛ هدف: تشخیص شرایط تخفیف.
تخفیف اعمال شد
count = 4 if count > 3: print("تخفیف اعمال شد")
- count = 4: تعداد خرید را تعیین میکند.
- if count > 3:: شرط بزرگتر بودن از ۳ بررسی میشود.
- print(…): پیام اعمال تخفیف در صورت برقرار بودن شرط چاپ میشود.
📶پروژه ۴: قدرت سیگنال وایفای
صورت مسئله: اگر قدرت سیگنال بالای ۷۰ بود پیام «اتصال عالی» نمایش بده؛ هدف: ارزیابی کیفیت اتصال.
اتصال عالی
signal = 85 if signal > 70: print("اتصال عالی")
- signal = 85: سطح سیگنال را مقداردهی میکند.
- if signal > 70:: کیفیت بالا بودن سیگنال بررسی میشود.
- print(…): نتیجه مثبت ارزیابی را نمایش میدهد.
🌡️پروژه ۵: هشدار دما
صورت مسئله: اگر دما بالاتر از ۳۰ بود پیام «هشدار گرما» چاپ شود؛ هدف: تشخیص شرایط هشدار.
هشدار گرما
temperature = 32 if temperature > 30: print("هشدار گرما")
- temperature = 32: مقدار فعلی دما را مشخص میکند.
- if temperature > 30:: بررسی میکند آیا دما از حد تعیینشده بیشتر است.
- print(…): هشدار مربوطه را چاپ میکند.
🔀دستور if – else (دو مسیر تصمیم)
چیست؟
اگر شرط درست باشد مسیر اول اجرا میشود؛ اگر غلط باشد مسیر دوم (else) اجرا خواهد شد. برای پوشش هر دو حالت به کار میرود.
اگر شرط درست باشد مسیر اول اجرا میشود؛ اگر غلط باشد مسیر دوم (else) اجرا خواهد شد. برای پوشش هر دو حالت به کار میرود.
نمونهی ساده
grade = 9 if grade > 10: print("You passed exam") else: print("You failed")
You failed
🧭راهنما: else بهتنهایی قابل استفاده نیست و باید دقیقاً بعد از if بیاید.
🧪۵ پروژه برای if – else
🪙پروژه ۱: شبیهسازی پرتاب سکه
صورت مسئله: عدد تصادفی ۰ یا ۱ تولید کن؛ اگر ۱ باشد «شیر» و اگر ۰ باشد «خط» چاپ کند؛ هدف: تصمیمگیری دوحالت.
شیر
import random coin = random.randint(0, 1) if coin == 1: print("شیر") else: print("خط")
- import random: ماژول تولید عدد تصادفی را وارد میکند.
- random.randint(0, 1): عدد تصادفی ۰ یا ۱ تولید میکند.
- if coin == 1: اگر مقدار ۱ باشد حالت «شیر» چاپ میشود.
- else: در غیر این حالت «خط» چاپ میشود.
🎟️پروژه ۲: حق ورود سن
صورت مسئله: اگر سن ۱۳ یا بیشتر باشد «اجازه ورود» و در غیر اینصورت «اجازه ندارید» نمایش دهد؛ هدف: بررسی حداقل سن.
اجازه ورود
age = 13 if age >= 13: print("اجازه ورود") else: print("اجازه ندارید")
- age = 13: سن کاربر را تعیین میکند.
- if age >= 13: حداقل سن مجاز را بررسی میکند.
- else: اگر شرط برقرار نباشد پیام عدم اجازه چاپ میشود.
📚پروژه ۳: قبولی/ردی نمره
صورت مسئله: اگر نمره ۱۰ یا بیشتر باشد «قبول» و در غیر اینصورت «رد» را چاپ کند؛ هدف: اعلام نتیجه آزمون.
قبول
grade = 14 if grade >= 10: print("قبول") else: print("رد")
- grade = 14: مقدار نمره را تعیین میکند.
- if grade >= 10: بررسی اینکه نمره حداقل قبولی را دارد.
- else: در غیر اینصورت پیام «رد» چاپ میشود.
🔌پروژه ۴: وضعیت باتری
صورت مسئله: اگر درصد باتری بالای ۲۰ باشد «وضعیت خوب» و در غیر اینصورت «کمبود شارژ» چاپ شود؛ هدف: مدیریت هشدار شارژ.
وضعیت خوب
battery = 45 if battery > 20: print("وضعیت خوب") else: print("کمبود شارژ")
- battery = 45: درصد باتری را تعیین میکند.
- if battery > 20: بررسی میکند آیا شارژ کافی است.
- else: اگر کم باشد پیام هشدار چاپ میشود.
🚦پروژه ۵: سرعت مجاز
صورت مسئله: اگر سرعت از ۶۰ بیشتر بود «تخلف سرعت» و در غیر اینصورت «سرعت مجاز» چاپ کند؛ هدف: کنترل سرعت.
سرعت مجاز
speed = 54
if speed > 60:
print(“تخلف سرعت”)
else:
print(“سرعت مجاز”)
- speed = 54: مقدار سرعت را تعیین میکند.
- if speed > 60: بررسی تخلف سرعت.
- else: اگر تخلف نیست، پیام «سرعت مجاز» چاپ میشود.
🧩if تودرتو (Nested if)
چیست؟
قرار دادن یک if داخل if دیگر برای بررسی چند مرحلهای شرایط. وقتی لازم است شرط دوم فقط در صورت درست بودن شرط اول بررسی شود.
قرار دادن یک if داخل if دیگر برای بررسی چند مرحلهای شرایط. وقتی لازم است شرط دوم فقط در صورت درست بودن شرط اول بررسی شود.
نمونهی ساده
num = 15 if num > 10: if num < 20: print("Number is between 10 and 20")
Number is between 10 and 20 خروجی
🧭راهنما: با if تودرتو میتوان قیود متوالی و وابسته را بررسی کرد (مثلاً بازهها).
🧪۵ پروژه برای if تودرتو
🧪پروژه ۱: دستهبندی دما به بازه
صورت مسئله: اگر دما بالای ۰ بود، بررسی کن آیا کمتر از ۲۰ است تا «خنک» چاپ شود؛ اگر بین ۲۰ تا ۳۰ بود «ملایم» چاپ کن؛ هدف: تشخیص بازه دمایی وابسته.
ملایم
t = 25 if t > 0: if t < 20: print("خنک") elif t <= 30: print("ملایم")
- t = 25: مقدار دما را تعیین میکند.
- if t > 0:: بررسی مثبت بودن دما.
- if t < 20 / elif t <= 30: بررسی بازههای وابسته داخل شرط اول.
- print(…): نتیجه بازه دما را چاپ میکند.
🏫پروژه ۲: اجازه خروج زنگ تفریح
صورت مسئله: اگر دانشآموز کارت دارد، سپس بررسی کن آیا معلم اجازه داده است؛ اگر هر دو برقرار بود «میتونی بری» چاپ کن؛ هدف: تصمیم وابسته دو مرحلهای.
میتونی بری
has_card = True teacher_ok = True if has_card: if teacher_ok: print("میتونی بری")
- has_card/teacher_ok: دو شرط اولیه را مدل میکنند.
- if has_card:: شرط اول برای داشتن کارت دانشآموز.
- if teacher_ok:: فقط در صورت داشتن کارت، اجازه معلم بررسی میشود.
- print(…): پیام اجازه خروج چاپ میگردد.
📱پروژه ۳: قفل دو مرحلهای موبایل
صورت مسئله: اگر پین درست بود سپس بررسی کن آیا اثر انگشت صحیح است؛ اگر هر دو درست بود «قفل باز شد» چاپ کن؛ هدف: احراز هویت چندمرحلهای.
قفل باز شد
pin_ok = True
finger_ok = True
if pin_ok:
if finger_ok:
print("قفل باز شد")
- pin_ok/finger_ok: وضعیت اعتبار پین و اثر انگشت.
- if pin_ok:: ابتدا صحت پین بررسی میشود.
- if finger_ok:: سپس اثر انگشت بررسی میشود.
- print(…): نتیجه موفقیت چاپ میشود.
🎟️پروژه ۴: تخفیف با کارت دانشآموزی
صورت مسئله: اگر کاربر دانشآموز است، سپس بررسی کن آیا سن زیر ۱۵ است؛ اگر هر دو برقرار بود «تخفیف ویژه» چاپ کن؛ هدف: تخفیف وابسته.
تخفیف ویژه
is_student = True age = 13 if is_student: if age < 15: print("تخفیف ویژه")
- is_student/age: وضعیت دانشآموز بودن و سن.
- if is_student:: بررسی دانشآموز بودن.
- if age < 15:: بررسی شرط سن در صورت دانشآموز بودن.
- print(…): اعمال تخفیف ویژه.
⚽پروژه ۵: گزینش تیم مدرسه
صورت مسئله: اگر سرعت دویدن بالای ۸ باشد، سپس اگر دقت پاس بالای ۷ بود «قبولی در تیم» چاپ شود؛ هدف: انتخاب چندشرطی بازیکن.
قبولی در تیم
speed = 9 pass_accuracy = 8 if speed > 8: if pass_accuracy > 7: print("قبولی در تیم")
- speed/pass_accuracy: معیارهای ورزشی را مشخص میکند.
- if speed > 8:: شرط سرعت بررسی میشود.
- if pass_accuracy > 7:: در صورت سرعت کافی، دقت پاس بررسی میشود.
- print(…): نتیجه قبولی چاپ میگردد.
🥇نردبان if – elif – else (چندین شرط، یک مسیر)
چیست؟
وقتی چند شرط داریم ولی فقط یکی باید اجرا شود از نردبان استفاده میکنیم: ابتدا if بررسی میشود، بعد elifها، و در نهایت else اگر هیچکدام برقرار نبود.
وقتی چند شرط داریم ولی فقط یکی باید اجرا شود از نردبان استفاده میکنیم: ابتدا if بررسی میشود، بعد elifها، و در نهایت else اگر هیچکدام برقرار نبود.
نمونهی ساده
i = 20 if i == 10: print("i is 10") elif i == 15: print("i is 15") elif i == 20: print("i is 20") else: print("i is not present")
i is 20
🧭راهنما: به محض درست بودن اولین شرط، بقیهی شرطها بررسی نمیشوند و برنامه از نردبان خارج میشود.
🧪۵ پروژه برای if – elif – else
🏆پروژه ۱: سطحبندی نمره
صورت مسئله: نمره را به «ضعیف»، «متوسط»، «خوب»، «عالی» دستهبندی کن؛ هدف: تعیین سطح نتیجه آزمون.
خوب
grade = 16 if grade < 10: print("ضعیف") elif grade < 15: print("متوسط") elif grade < 18: print("خوب") else: print("عالی")
- grade = 16: مقدار نمره تعیین میشود.
- if/elif: بازههای مختلف نمره بررسی میشوند.
- else: اگر در بازههای قبل نبود، حالت «عالی» چاپ میشود.
🌤️پروژه ۲: توصیف هوا
صورت مسئله: با توجه به دما، یکی از پیامهای «سرد»، «معتدل»، «گرم»، «خیلی گرم» را چاپ کن؛ هدف: توصیف چندسطحی.
گرم
t = 29 if t < 10: print("سرد") elif t < 20: print("معتدل") elif t < 30: print("گرم") else: print("خیلی گرم")
- t = 29: دما تعریف شده است.
- if/elif: بازههای دمایی از پایین به بالا بررسی میشوند.
- else: آخرین حالت زمانی است که از همه بازهها فراتر رود.
📶پروژه ۳: قدرت اینترنت
صورت مسئله: براساس درصد سیگنال اینترنت، یکی از پیامهای «ضعیف»، «متوسط»، «خوب»، «عالی» را چاپ کن؛ هدف: رتبهبندی کیفیت سیگنال.
عالی
signal = 82 if signal < 25: print("ضعیف") elif signal < 50: print("متوسط") elif signal < 75: print("خوب") else: print("عالی")
- signal = 82: درصد سیگنال تنظیم میشود.
- elifهای پیاپی: بازههای سیگنال تعیین و بررسی میشوند.
- else: نتیجهی نهایی در صورت نبودن در بازههای قبل.
🥤پروژه ۴: انتخاب نوشیدنی از منو
صورت مسئله: ورودی نام نوشیدنی را به یکی از «آب»، «آبمیوه»، «شیر»، یا «ناموجود» نگاشت کن؛ هدف: تصمیمگیری چندانتخابی.
آبمیوه
“`html
choice = "juice" if choice == "water": print("آب") elif choice == "juice": print("آبمیوه") elif choice == "milk": print("شیر") else: print("ناموجود")
“`
- choice = “juice”: انتخاب کاربر تعیین میشود.
- if/elif: مقادیر مجاز با تطابق برابر بررسی میشوند.
- else: اگر هیچکدام نباشد پیام ناموجود چاپ میشود.
🎯پروژه ۵: سطح سختی بازی
صورت مسئله: امتیاز بازیکن را به یکی از سطوح «آسان»، «نرمال»، «سخت»، «حرفهای» دستهبندی کن؛ هدف: تنظیم درجه سختی.
حرفهای
score = 95 if score < 30: print("آسان") elif score < 60: print("نرمال") elif score < 90: print("سخت") else: print("حرفهای")
- score = 95: امتیاز فعلی تعیین شده است.
- elifها: مرزهای سختی به ترتیب بررسی میشوند.
- else: سطح نهایی وقتی امتیاز از همه مرزها بیشتر باشد.
🛠️نکات کاربردی و ترکیب شرطها
عملگرهای منطقی
از and، or، not برای ترکیب شرطها استفاده کنید: مثال ساده در if، ترکیب همزمان چند شرط را ممکن میکند.
از and، or، not برای ترکیب شرطها استفاده کنید: مثال ساده در if، ترکیب همزمان چند شرط را ممکن میکند.
x = 7 y = 12 if (x > 5 and y < 15) or not (x == 0): print("شرط ترکیبی برقرار است")
شرط ترکیبی برقرار است
