شرط if در پایتون

May 2022


شرط if در پایتون چیست؟

هنگام نوشتن برنامه ، ممکن است بخواهید یک بلوک کد فقط در صورت برآورده شدن شرایط خاصی اجرا شود. در اینجاست که جملات شرطی وارد می شوند. جملات شرطی به شما امکان می دهد جریان برنامه خود را به طور موثرتری کنترل کنید. دستور if… elif… else در پایتون برای تصمیم گیری استفاده می شود.

 

دستور Python if ارزیابی می کند که آیا شرط برابر است با درست یا نادرست. اگر یک شرط مشخص شده برابر با true باشد ، دستور بلاک کد را اجرا می کند. در غیر این صورت ، بلوک کد درون دستور if اجرا نمی شود.

 

if test expression:
    statement(s)

 

در اینجا ، برنامه test expression را ارزیابی می کند و فقط در صورتی که عبارت آزمون True باشد ، دستور (ها) را اجرا می کند. اگر test expression نتیچه False باشد، عبارت (ها) اجرا نمی شود.

 

در پایتون ، بدنه عبارت if با تورفتگی نشان داده می شود. بدنه با تورفتگی شروع می شود و با اولین خط بدون تورفتگی پایان را مشخص می کند. پایتون مقادیر غیر صفر را به عنوان True تفسیر می کند. None و 0 به عنوان False تفسیر می شوند.

 

بیایید برنامه ای بنویسیم که قیمت سفارش ساندویچ را چاپ کند. قیمت سفارش ساندویچ تنها در صورتی نمایش داده می شود که مشتری رول ژامبون سفارش داده باشد. سفارش ساندویچ ما یک رشته پایتون است. در اینجا کد برنامه ما آمده است:

sandwich_order = "Ham Roll"

if sandwich_order == "Ham Roll":
	print("Price: $1.75")

 

نتیجه به شکل Price: $1.75 خواهد بود.

 

ما یک متغیر به نام sandwich_order اعلام کرده ایم. به این متغیر مقدار Ham Roll اختصاص داده شده است. ما از دستور if برای بررسی اینکه آیا sandwich_order برابر Ham Roll است استفاده می کنیم. اگر شرط ما درست باشد ، عبارت print () ما اجرا می شود. اگر شرایط ما اشتباه باشد ، هیچ اتفاقی نمی افتد.

 

متغیر sandwich_order ما برابر Ham Roll است. این بدان معناست که دستور if ما اجرا می شود. حال ، بیایید ببینیم وقتی سفارش ساندویچ خود را به Cheese Roll تغییر می دهیم ، چه اتفاقی می افتد:

sandwich_order = "Cheese Roll"

if sandwich_order == "Ham Roll":
	print("Price: $1.75")

 

کد ما چیزی بر نمی گرداند. به عبارت print () در کد ما فرصت اجرا داده نمی شود. این به این دلیل است که سفارش ساندویچ ما با Ham Roll برابر نیست.

 

دستور if...else در پایتون

یک دستور if… else پایتون بررسی می کند که آیا شرط صحت دارد یا خیر. اگر شرطی صادق باشد ، دستور if اجرا می شود. در غیر این صورت دستور else اجرا می شود.

 

تا کنون ، از دستور if برای بررسی اینکه آیا شرط خاصی برآورده شده یا نه استفاده کرده ایم. اما اگر بخواهیم کاری انجام دهیم اگر شرایطی برآورده نشده باشد ، چه کنیم؟

 

فرض کنید ما در حال ساخت برنامه ای هستیم که بررسی می کند آیا مشتری در یک رستوران محلی دارای برگه بوده است یا خیر. اگر مشتری برگه ای بیش از 20 دلار داشته باشد، قبل از سفارش غذای بیشتر باید آن را پرداخت کند. اگر مشتری دارای برگه ای بیش از 20 دلار نباشد ، نباید اتفاقی بیفتد.

tab = 29.95

if tab > 20:
	print("This user has a tab over $20 that needs to be paid.")
else:
	print("This user's tab is below $20 that does not require immediate payment.")

 

کد ما مقدار  This user has a tab over $20 that needs to be paid  را برمیگرداند.

 

بیایید نحوه عملکرد کد ما را بررسی کنیم. ابتدا یک متغیر پایتون به نام tab اعلام می کنیم. این متغیر برگه مشتری را ردیابی می کند. ما از دستور if برای بررسی اینکه آیا برگه مشتری بیشتر از 20 است یا خیر استفاده می کنیم.

 

اگر ارزش برگه یک مشتری بیش از 20 دلار باشد ، دستور print () بعد از دستور if ما اجرا می شود. در غیر این صورت ، عبارت print () بعد از Python ما در صورت… else اجرا می شود.

 

از آنجا که برگه مشتری ما بیش از 20 دلار است ، مترجم پایتون دستور if ما را اجرا می کند. این به برنامه ما دستور می دهد که یک پیام را روی کنسول چاپ کند. این پیام به ما می گوید که مشتری باید برگه خود را پرداخت کند.

 

بگذارید برگه مشتری را روی $ 0 قرار دهیم و ببینیم چه اتفاقی می افتد:

tab = 0

if tab > 20:
	print("This user has a tab over $20 that needs to be paid.")
else:
	print("This user's tab is below $20 that does not require immediate payment.")


# OUTPUT
This user's tab is below $20 which does not require immediate payment.

 

کد ما خروجی متفاوتی را برمی گرداند. برگه مشتری بیش از 20 دلار نیست. این بدان معناست که محتویات عبارت else ما به جای دستور if ما اجرا می شود.

 

دستور elif در پایتون

در صورت عدم رعایت همه شرایط قبلی ، بیانیه پایتون elif شرط دیگری را بررسی می کند. آنها بعد از دستور if و قبل از دستور else ظاهر می شوند. می توانید از هر تعداد دستور elif که می خواهید استفاده کنید.

 

در مثال فوق ، ما یک گزاره شرطی با دو نتیجه احتمالی ایجاد کردیم. اگر برگه کاربر بالای 20 دلار بود ، پیامی روی کنسول چاپ می شد. اگر برگه کاربر زیر 20 دلار بود ، پیام متفاوتی روی کنسول چاپ می شد. در برخی موارد ، ممکن است بخواهیم شرایط متعددی را ارزیابی کرده و برای هر یک از آن شرایط نتایج ایجاد کنیم. اینجاست که شرایط elif مطرح می شود.

 

بیایید به مثال ساندویچ قبلی خود برگردیم. فرض کنید ما می خواهیم چهار خروجی بالقوه از برنامه خود داشته باشیم ، بسته به نوع ساندویچی که مشتری انتخاب می کند. اینها هستند:

 

ما می توانیم از کد زیر برای محاسبه هزینه سفارش مشتری استفاده کنیم:

sandwich_order = "Bacon Roll"

if sandwich_order == "Ham Roll":
	print("Price: $1.75")
elif sandwich_order == "Cheese Roll":
	print("Price: $1.80")
elif sandwich_order == "Bacon Roll":
	print("Price: $2.10")
else:
	print("Price: $2.00")

 

کد ما نتیجه Price: $2.10 را برمیگرداند.

 

کد ما چهار نتیجه احتمالی دارد:

 

 

ما از دستور if برای آزمایش شرایط خاصی استفاده کردیم. دو بلوک elif ما برای آزمایش شرایط جایگزین. در صورت عدم رعایت شرایط ، عبارت else مقدار را برمی گرداند.

 

در صورت تمایل می توانیم دستورات elif بیشتری را به کد بالا اضافه کنیم. اگر یک Tuna Roll جدید به منوی ساندویچ خود معرفی کنیم ، می توانیم یک دستور elif جدید اضافه کنیم. این بیانیه جدید می تواند قیمت مورد جدید منو را روی کنسول چاپ کند.

 

دستور if تودرتو در پایتون

دستور if تودرتو عبارت if در داخل دستور if دیگر است. اگر عبارات تو در تو باشند به شما امکان می دهد بررسی کنید که آیا شرطی پس از برآورده شدن شرط دیگر برآورده شده است یا خیر. بیایید به مثال ساندویچ قبلی خود برگردیم. فرض کنید می خواهیم بررسی کنیم که آیا مشتری رولی سفارش داده است که در منوی ما وجود دارد یا خیر. ما می خواهیم این کار را قبل از بررسی قیمت سفارش مشتری انجام دهیم.

 

اگر مشتری ساندویچ سفارشی دیگری سفارش داده باشد، باید پیغامی با قیمت پیش فرض ما برای موارد غیر منو چاپ شود. ساندویچ های سفارشی ساندویچی هستند که در منوی ما نیستند (مانند رول کره ای ، یا رول مربا). با این حال ، اگر مشتری ساندویچی را که در منوی ما است سفارش داده است ، باید قیمت آن ساندویچ را بررسی کنیم. ما می توانیم با استفاده از این کد این کار را انجام دهیم:

sandwich_order = "Other Filled Roll"

if sandwich_order != "Other Filled Roll":
    if sandwich_order == "Ham Roll":
	    print("Price: $1.75")
    elif sandwich_order == "Cheese Roll":
	    print("Price: $1.80")
    elif sandwich_order == "Bacon Roll":
	    print("Price: $2.10")

else:
	print("Price: $2.00")

 

کد ما نتیجه Price: $2.00  را برمیگرداند.

 

اول ، برنامه ما ارزیابی می کند که آیا سفارش ساندویچ ما با سایر پرکننده ها برابر نیست. برنامه ما ساندویچی را که سفارش داده ایم با لیست ساندویچ های موجود در منوی ما مقایسه می کند. اگر در منو ساندویچ سفارش داده باشیم این اتفاق می افتد.

 

اگر ما یک رول پر شده سفارش داده ایم که در منوی ما نیست ، محتویات عبارت else در کد ما اجرا می شود.

 

در این مثال ، ما یک رول پر شده سفارش داده ایم که در منوی ما نیست. این بدان معناست که دستور if sandwich_order! = Other Filled Roll به False ارزیابی می شود ، بنابراین کد موجود در دستور if ما اجرا می شود.

 

حالا فرض کنید ما به جای آن ham roll سفارش دادیم. این باعث می شود که اولین عبارت ما اگر درست ارزیابی شود. این به این دلیل است که Ham Roll برابر سایر پرکنندگان نیست. سفارش ما با لیست قیمت ساندویچ هایی که مشخص کرده ایم مقایسه می شود.


5:47:36


0

Intro

10:38

رایگان

1

Variable

12:30

رایگان

2

String

19:22

رایگان

3

List

8:46

رایگان

4

While

9:6

رایگان

5

If

8:37

رایگان

6

For

6:12

رایگان

7

range

4:17

رایگان

8

break, continue, pass

9:15

رایگان

9

Function

12:32

رایگان

10

List methods

12:11

رایگان

11

Tuple

8:29

رایگان

12

Set

7:47

رایگان

13

Dictionary

9:19

رایگان

14

Module

10:40

رایگان

15

fstring

5:35

رایگان

16

format

7:34

رایگان

17

File

17:14

رایگان

18

Scope

6:25

رایگان

19

OOP

12:15

رایگان

20

Method

20:19

رایگان

21

class/instance variable

14:7

رایگان

22

class/static method

13:25

رایگان

23

Inheritance

17:6

رایگان

24

Special methods

9:50

رایگان

25

Access points

11:12

رایگان

26

property

6:54

رایگان

27

Exceptions

21:17

رایگان

28

Standard library

12:51

رایگان

29

Docstring

10:49

رایگان

30

Virtualenv

11:2

رایگان


دوره‌های پیشنهادی

دوره اول آموزش جنگو(django)

دوره اول آموزش جنگو(django)

دوره آموزش تست نویسی در پایتون

دوره آموزش تست نویسی در پایتون

دوره آموزش ساخت Forum با فلسک

دوره آموزش ساخت Forum با فلسک

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

سینا

May 2022

سلام خسته نباشید. اگه بخواهیم خیلی ابتدایی تمرین کنیم ایا سایتی هست . سوال خیلی اسون داشته باشه ؟
و برای اینکه تو این بخش بتونیم مهار تر بشیم باید چه کنیم
با تشکر
تازه بخشو یاد میگیرم

ارسال نظر


امیرحسین بیگدلو

May 2022

سلام
متاسفانه اطلاعی ندارم

رسول

November 2021

عالی بود

ارسال نظر


ارسلان

October 2021

04:14
سلام ، ویدیوی if از این دقیقه قطع میشه و بقیه ش لود نمیشه

ارسال نظر


امیرحسین بیگدلو

October 2021

سلام
ممنون از شما. مشکل برطرف شد.

نسیم

July 2021

سلام
ببخشید من وقتی بوم رو باز میکنم پشت صفحه ی خودِ پایتون باز میشه مشکلش چیه؟ یه بارم حذفش کردم دوباره نصب کردم بازم درست نشد

ارسال نظر


امیرحسین بیگدلو

July 2021

سلام
نمیدونم والا