جلسه هشتم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<xmp>age = 25 gender = 'male' if age >= 18: if gender == 'male': print("You are an adult male.") else: print("You are an adult female.") else: if gender == 'male': print("You are a minor male.") else: print("You are a minor female.")</xmp> |
1 2 3 4 5 6 7 8 |
<xmp>age =25 is_student =True if age >=18and is_student: print("You are an adult student.") else: print("You are not an adult student.")</xmp> |
1 2 3 4 5 6 7 8 |
<xmp>temperature = 35 is_raining = False if temperature > 30 or is_raining: print("It's hot or raining outside.") else: print("It's not hot and not raining outside.")</xmp> |
جلسه هشتم
شرطهای تودرتو
در پایتون، شما میتوانید شرطهای تودرتو (nested conditions) را به کار ببرید. این یعنی شما میتوانید یک ساختار شرطی را درون ساختار شرطی دیگری قرار دهید.
ساختار کلی شرطهای تودرتو به این شکل است:
if شرط1:
ifشرط2:
# انجام این بلوک اگر هر دو شرط1 و شرط2 برقرار باشند
else:
# انجام این بلوک اگر شرط1 برقرار باشد اما شرط2 برقرار نباشد
else:
# انجام این بلوک اگر شرط1 برقرار نباشد
ادامه کد
در این ساختار، ابتدا شرط1 بررسی میشود. اگر شرط1 برقرار باشد، آنگاه شرط2 بررسی میشود. اگر هر دو شرط برقرار باشند، بلوک اول اجرا میشود. اگر شرط1 برقرار باشد اما شرط2 برقرار نباشد، بلوک دوم اجرا میشود. و اگر شرط1 برقرار نباشد، بلوک سوم اجرا میشود و ادامه کد در هر صورت اجرا میشود.
شرطهای تودرتو میتوانند به هر عمق دلخواهی تعریف شوند و میتوانند ترکیبی از if
، elif
و else
باشند.
مثال:
.
.
.
.
.
.
در این مثال، ابتدا سن بررسی میشود. اگر سن 18 سال یا بیشتر باشد، جنسیت بررسی میشود. اگر جنسیت مرد باشد، پیام “You are an adult male.” چاپ میشود، و اگر جنسیت زن باشد، پیام “You are an adult female.” چاپ میشود.
اگر سن کمتر از 18 باشد، دوباره جنسیت بررسی میشود. اگر جنسیت مرد باشد، پیام “You are a minor male.” چاپ میشود، و اگر جنسیت زن باشد، پیام “You are a minor female.” چاپ میشود.
شرطهای تودرتو به ما اجازه میدهند تا منطق پیچیدهتری را در برنامههایمان پیادهسازی کنیم.
در بسیاری از موارد میتوان به جای استفاده از شرطهای تودرتو (nested conditions) از عملگرهای منطقی استفاده کرد. این دو روش هر دو برای حل مسائل پیچیده قابل استفاده هستند، اما انتخاب یکی از آنها ممکن است کد را سازمانیافتهتر و خواناتر کند.
عملگرهای منطقی
در پایتون، عملگرهای منطقی به ما امکان میدهند تا شرطهای پیچیدهتری را بررسی کنیم. این عملگرها عبارتاند از:
and
: این عملگر منطقی نتیجهTrue
را برمیگرداند اگر و تنها اگر هر دو شرط همزمان برقرار باشند .
.
.
.
.
.
در مثال اول، هر دو شرط age >= 18
و is_student
باید True
باشند تا بلوک اول اجرا شود.
or
: این عملگر منطقی نتیجهTrue
را برمیگرداند اگر حداقل یکی از شرط ها برقرار باشد.
# استفاده از عملگر ‘or’
.
.
.
در مثال دوم، اگر دمای هوا بالای 30 درجه باشد یا اگر بارندگی وجود داشته باشد (یا هر دو)، بلوک اول اجرا میشود.
not
:این عملگر منطقی نتیجه عکس یک عبارت را برمیگرداند. یعنی اگر عبارتTrue
باشد،not
آنFalse
است و اگر عبارتFalse
باشد،not
آنTrue
است.
# استفاده از عملگر ‘not’
.
.
.
در مثال سوم، اگر is_weekend
False
باشد (یعنی not
آن True
باشد)، بلوک اول اجرا میشود.
مثال 2 : برنامه ایی که مضرب های اعداد 3 و 5 را چاپ کند ولی مضرب 7 را چاپ نکند عدد به دلخواه از ورودی دریافت شود ؟
.
.
.
.
مثال 3 : برنامه ای بنویسید ک مضربی از 3 باشد ولی مضربی از 7 نباشد.
1 2 3 4 5 6 7 8 9 10 |
<xmp>while True: x = float(input("Enter A Number :")) if (x % 3 ==0 or x % 7 == 0) and (x % 3 != 0 or x % 7 != 0) : print (" x ya mazrab 3 ast ya 7 ") else: print("nmibashad") if x == 0 : break</xmp> |
1 2 3 4 5 6 7 8 9 10 |
<xmp>while True : x = float(input("Enter A Number")) if( x % 3 == 0) and (x % 7 ==0) : print ("x mazrab moshtarak") else: print("x mazrab moshtarak Nist") if x ==100: break</xmp> |
1 2 3 4 5 6 7 |
<xmp>is_weekend = False if not is_weekend: print("It's a weekday.") else: print("It's a weekend.")</xmp> |