دستورات IF، ELSE، ELIF، If تودرتو و Switch Case در پایتون

دستور شرطی چیست؟

یک دستور شرطی در پایتون محاسبات و عملیات مختلف را، بسته به ارزیابی قیدهای بولی  که به true یا false منجر می‌شود انجام می‌دهد. دستورات شرطی در پایتون بوسیله دستور IF مدیریت می‌شوند.

دستور IF چیست؟ چگونه باید از آن استفاده کرد؟

در پایتون، دستور If برای تصمیم گیری استفاده می‌شود. بدنه آن تنها در صورتی اجرا می‌شود که شرط آن برقرار باشد.

وقتی که یک شرط برقرار باشد و شرط دیگر برقرار نباشد، از دستور if استفاده می‌کنید.

ساختار

if expression
 Statement
else 
 Statement

اجازه دهید یک مثال باهم ببینیم:

دستورات IF، ELSE، ELIF، If تودرتو و Switch Case

#
#Example file for working with conditional statement
#
def main():
	x,y =2,8
	
	if(x < y):
		st= "x is less than y"
	print(st)
	
if __name__ == "__main__":
	main()
  • خط 5: دو متغیر تعریف می‌کنیم: x,y=2,8
  • خط 7: دستور if شرط x<y را بررسی می‌کند که در این مورد درست است.
  • خط 8: متغیر st به مقدار «x is less than y» ست می‌شود.
  • خط 9: این خط print st خروجی متغیر st را چاپ می‌کند که برابر است با: «x is less than y».

هنگامی‌که شرط IF برآورده نشود، چه اتفاقی می‌افتد؟

در این مرحله، خواهیم دید که در صورت برآورده نشدن شرط if چه اتفاقی خواهد افتاد.

دستورات IF، ELSE، ELIF، If تودرتو و Switch Case

  • خط 5: دو متغیر x,y=8,4 تعریف میکنیم
  • خط 7: دستور if شرط x<y را بررسی می‌کند که در این مورد نادرست است.
  • خط 8: متغیر st به عبارت «x is less than y» ست نمی‌شود.
  • حط 9: دستور print st : تلاش می‌کند تا متغیری را که هرگز اعلان نشده را چاپ کند، در نتیجه با خطا مواجه می‌شویم.

نحوه استفاده از شرط ELSE

شرط else معمولاً زمانی بکار می‌رود که بخواهیم یک شرط را برپایه شرط دیگر قضاوت کنیم. اگر یک شرط برقرار نبود، آنگاه باید شرط دیگر برآورده شود.

مثال

دستورات IF، ELSE، ELIF، If تودرتو و Switch Case

#
#Example file for working with conditional statement
#
def main():
	x,y =8,4
	
	if(x < y):
		st= "x is less than y"
	else:
		st= "x is greater than y"
	print (st)
	
if __name__ == "__main__":
	main()
  • خط 5: دو متغیر x,y=8,4 تعریف میکنیم.
  • خط 7: دستور if شرط x<y را بررسی می‌کند که در این مورد نادرست است.
  • خط 9: کنترل جریان برنامه در اختیار شرط else قرار می‌گیرد.
  • خط 10: متغیر st برابر می‌شود با «x is greater than y».
  • خط 11: خط print st مقدار متغیر st را به خروجی میفرستد که برابر است با: «x is greater than y».
مطلب پیشنهادی:  نوشتن اولین برنامه پایتون برای رزبری‌پای

چه زمانی شرط ELSE عمل نخواهد کرد

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

در اینجا هردو متغیر برابر هستند (8,8) و خروجی برنامه «x is greater than y» است، که نادرست است. این بدین خاطر است که ابتدا شرط if بررسی می‌شود، و اگر نادرست باشد، آنگاه شرط دوم (شرط else) به صورت پیش فرض چاپ می‌شود. در مرحله بعدی، خواهیم دید که این خطا را چگونه باید تصحیح کنیم.

دستورات IF، ELSE، ELIF، If تودرتو و Switch Case

#
#Example file for working with conditional statement
#
def main():
	x,y =8,8
	
	if(x < y):
		st= "x is less than y"
	else:
		st= "x is greater than y"
	print(st)
	
if __name__ == "__main__":
	main()

نحوه استفاده از شرط ELIF

برای تصحیح خطای مذکور که شرط else مسبب آن بود، از دستور «elif» استفاده می‌کنیم. با استفاده از شرط elif، به برنامه اعلام خواهید کرد که در صورت نادرست بودن دیگر شرایط، شرط یا احتمال سوم را چاپ کند.

دستورات IF، ELSE، ELIF، If تودرتو و Switch Case

#
#Example file for working with conditional statement
#
def main():
	x,y =8,8
	
	if(x < y):
		st= "x is less than y"
	
	elif (x == y):
		st= "x is same as y"
	
	else:
		st="x is greater than y"
	print(st)
	
if __name__ == "__main__":
	main()
  • خط 5: دو متغیر x,y=8,8 تعریف میکنیم.
  • خط 7: دستور if شرط x<y را بررسی می‌کند که در این مورد نادرست است.
  • خط 10: کنترل جریان برنامه به دست شرط elif می‌افتد. این شرط x==y را بررسی می‌کند که درست است.
  • خط 11: متغیر st به مقدار «x is same as y» ست می‌شود.
  • خط 15: کنترل جریان برنامه از دستور if خارج می‌شود (به دستور else داده نمی‌شود). و متغیر st چاپ می‌شود. خروجی «x is same as y» صحیح است.

نحوه اجرای دستورات شرطی با کمترین میزان کد

در این مرحله، خواهیم دید که چگونه دستور شرطی را خلاصه کنیم. به جای اجرای کد جداگانه برای هر شرط، می‌توان از یک کد تک خطی استفاده کرد.

مطلب پیشنهادی:  آموزش حلقه ها در پایتون - حلقه‌های‌ for و While

ساختار

	A If B else C

مثال

دستورات IF، ELSE، ELIF، If تودرتو و Switch Case

	
def main():
	x,y = 10,8
	st = "x is less than y" if (x < y) else "x is greater than or equal to y"
	print(st)
	
if __name__ == "__main__":
	main()
  • خط 2: متغیرهای x,y=10,8 را تعریف می‌کنیم.
  • خط 3: اگر x<y باشد، متغیر st به مقدار «x is less than y» ست می‌شود و یا به مقدار «x is greater than or equal to y» ست می‌شود. در این مورد x>y است بنابراین متغیر st به مقدار «x is greater than or equal to y»  ست می‌شود.
  • خط 4: مقدار متغیر st را چاپ کرده و خروجی صحیح را می‌دهد.

بجای نوشتن کدهای طولانی برای دستورات شرطی، پایتون شرایطی فراهم کرده تا کد را به فرم کوتاه و فشرده بنویسید.

دستور IF تودرتو

مثال زیر دستور if تودرتو را نشان می‌دهد.

total = 100
#country = "US"
country = "AU"
if country == "US":
    if total <= 50:
        print("Shipping Cost is  $50")
elif total <= 100:
        print("Shipping Cost is $25")
elif total <= 150:
	    print("Shipping Costs $5")
else:
        print("FREE")
if country == "AU": 
	  if total <= 50:
	    print("Shipping Cost is  $100")
else:
	    print("FREE")

 در کد بالا خط 2 را از حالت کامنت خارج کنید و خط 3 را کامنت کنید و کد را مجدداً اجرا کنید.

دستور Switch

دستور switch یک دستور چند شاخه ای است که مقدار یک متغیر را با مقادیر مشخص شده در دستورات case مقایسه می‌کند.

زبان پایتون دستور switch ندارد.

پایتون از نگاشت دیکشنری برای پیاده سازی دستور Switch استفاده می‌کند.

مثال

function(argument){
    switch(argument) {
        case 0:
            return "This is Case Zero";
        case 1:
            return " This is Case One";
        case 2:
            return " This is Case Two ";
        default:
            return "nothing";
    };
};

کد معادل پایتون برای کد فوق برابر است با:

def SwitchExample(argument):
    switcher = {
        0: " This is Case Zero ",
        1: " This is Case One ",
        2: " This is Case Two ",
    }
    return switcher.get(argument, "nothing")


if __name__ == "__main__":
    argument = 1
    print (SwitchExample(argument))

مثال پایتون 2

کدهای بالا همگی مثال های پایتون 3 بودند، اگر بخوهید آنها را در پایتون 2 اجرا کنید، از کدهای زیر استفاده کنید.

# If Statement 
#Example file for working with conditional statement
#
def main():
	x,y =2,8
	
	if(x < y):
		st= "x is less than y"
	print st
	
if __name__ == "__main__":
	main()



# How to use "else condition"
#Example file for working with conditional statement
#
def main():
	x,y =8,4
	
	if(x < y):
		st= "x is less than y"
	else:
		st= "x is greater than y"
	print st
	
if __name__ == "__main__":
	main()



# When "else condition" does not work
#Example file for working with conditional statement
#
def main():
	x,y =8,8
	
	if(x < y):
		st= "x is less than y"
	else:
		st= "x is greater than y"
	print st
	
if __name__ == "__main__":
	main()


# How to use "elif" condition
#Example file for working with conditional statement
#
def main():
	x,y =8,8
	
	if(x < y):
		st= "x is less than y"
	
	elif (x == y):
		st= "x is same as y"
	
	else:
		st="x is greater than y"
	print st
	
if __name__ == "__main__":
	main()


# How to execute conditional statement with minimal code
def main():
	x,y = 10,8
	st = "x is less than y" if (x < y) else "x is greater than or equal to y"
	print st
	
if __name__ == "__main__":
	main()


# Nested IF Statement
total = 100
#country = "US"
country = "AU"
if country == "US":
    if total <= 50:
        print "Shipping Cost is  $50"
elif total <= 100:
        print "Shipping Cost is $25"
elif total <= 150:
	    print "Shipping Costs $5"
else:
        print "FREE"
if country == "AU": 
	  if total <= 50:
	    print "Shipping Cost is  $100"
else:
	    print "FREE"


#Switch Statement
def SwitchExample(argument):
    switcher = {
        0: " This is Case Zero ",
        1: " This is Case One ",
        2: " This is Case Two ",
    }
    return switcher.get(argument, "nothing")


if __name__ == "__main__":
    argument = 1
    print SwitchExample(argument)

خلاصه

دستور شرطی در پایتون بوسیله دستور if انجام می‌گیرد. روش های متنوعی را ملاحظه کردیم که می‌توان از دستورات شرطی مانند if و else استفاده کرد.

  • شرط if: زمانی که بخواهید دستوری را چاپ کنید استفاده می‌شود.
  • شرط else: زمانی استفاده می‌شود ک بخواهید یک دستور را در وضعیتی چاپ کنید که یک شرط شما برآورده نشود.
  • شرط elif: زمانی استفاده می‌شود که احتمال سومی‌ به عنوان خروجی وجود داشته باشد. می‌توان از چندین شرط elif برای احتمالات چهارم، پنجم، ششم در کدتان استفاده کنید.
مطلب پیشنهادی:  رشته‌ها در پایتون: جایگزینی، اتصال و تبدیل به حروف بزرگ و کوچک

منبع: ترجمه از سایت guru99.com

در جلسه بعدی آموزش پایتون با ما همراه باشید. همچنین اگر علاقمند بودید آموزش ++C و آموزش C را هم مطالعه کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

یک دیدگاه

  1. پایتون ورژن 3.10 دستور match case داره که دقیقا مثل switch در زبان های برنامه نویسی دیگه هست.