حلقههای تکرار در پایتون
حلقههای تکرار در پایتون (Python Loops) فرض کنید میخواهید جملهی “سلام” را ۱۰ بار چاپ کنید. یک راه این است که
تا اینجا یاد گرفتیم که با عملگرهای محاسباتی میتوانیم اعداد را با هم جمع، تفریق و… کنیم. اما گاهی هدف ما محاسبه نیست، بلکه میخواهیم دو مقدار را با هم مقایسه کنیم. نتیجهی یک مقایسه همیشه فقط یکی از دو مقدار زیر است:
True (درست)False (نادرست)| عملگر | معنی | مثال | نتیجه |
|---|---|---|---|
== |
مساوی است با | 5 == 5 |
True |
!= |
مساوی نیست | 5 != 3 |
True |
> |
بزرگتر از | 8 > 4 |
True |
< |
کوچکتر از | 2 < 1 |
False |
>= |
بزرگتر یا مساوی | 7 >= 7 |
True |
<= |
کوچکتر یا مساوی | 5 <= 8 |
True |
مثال اول
print(8 > 3)خروجی:
Trueمثال دوم
print(10 == 8)خروجی:
Falseمثال سوم
age = 18
print(age >= 18)خروجی:
Trueچون مقدار متغیر age برابر ۱۸ است و شرط «بزرگتر یا مساوی ۱۸» برقرار است.
رشتهها نیز قابل مقایسه هستند.
print("Ali" == "Ali")خروجی
Trueاما
print("Ali" == "ali")خروجی
Falseزیرا حروف بزرگ و کوچک با هم تفاوت دارند.
عملگرهای مقایسهای میتوانند نتیجهی یک محاسبه را نیز بررسی کنند.
a = 5
b = 3
print(a + b == 8)خروجی
Trueعلامت = برای مقداردهی به متغیر و علامت == برای بررسی شرط تساوی بین دو طرف استفاده میشود. آنها را با هم اشتباه نگیرید.
عملگرهای مقایسهای برای بررسی رابطهی بین دو مقدار استفاده میشوند و نتیجهی آنها همیشه یکی از دو مقدار True یا False است. این نتیجه در ادامه درس، یعنی دستورات شرطی (if)، نقش اصلی را خواهد داشت.
اکنون که میتوانیم شرطها را بررسی کنیم، نوبت آن است که به برنامه یاد بدهیم بر اساس نتیجهی این مقایسهها تصمیم بگیرد.
تا اینجا یاد گرفتیم که عملگرهای مقایسهای نتیجهای از نوع True یا False تولید میکنند. اما این نتیجه چه کاربردی دارد؟ در برنامهنویسی معمولاً میخواهیم اگر یک شرط برقرار بود، کاری انجام شود. برای این کار از دستور if استفاده میکنیم.
ساختار کلی دستور if به صورت زیر است:
if شرط:
دستوراگر شرط True باشد، دستورهای داخل if اجرا میشوند. اگر شرط False باشد، آنها نادیده گرفته میشوند.
به فاصلهی ابتدای خط (Indentation) دقت کنید؛ این فاصله نشان میدهد که کدام دستورات متعلق به if هستند.
مثال اول
age = 20
if age >= 18:
print("You can vote.")خروجی:
You can vote.چون شرط age >= 18 درست است، دستور print اجرا میشود.
مثال دوم
age = 15
if age >= 18:
print("You can vote.")خروجی:
(هیچ خروجی)در این مثال شرط برقرار نیست؛ بنابراین دستور داخل if اجرا نمیشود.
اگر چند دستور با یک تورفتگی نوشته شوند، همگی فقط در صورت برقرار بودن شرط اجرا خواهند شد.
score = 95
if score >= 90:
print("Excellent")
print("Congratulations")خروجی:
Excellent
Congratulationsگاهی خود شرط یک متغیر بولین است.
is_student = True
if is_student:
print("Student discount applied.")خروجی:
Student discount applied.در اینجا دیگر نیازی به نوشتن == True نیست.
مقدار ورودی که کاربر وارد کرده، در شرط if بررسی میشود.
age = int(input("Enter your age: "))
if age >= 18:
print("Adult")اگر کاربر عدد ۲۰ را وارد کند، خروجی خواهد بود:
Adultبعد از شرط باید حتماً علامت : نوشته شود.
دستورهای داخل if باید با یک تورفتگی (معمولاً ۴ فاصله یا یک Tab) نوشته شوند.
if age >= 18:
print("Adult")
تا اینجا یاد گرفتیم که دستور if فقط زمانی اجرا میشود که شرط True باشد. اما اگر شرط برقرار نباشد و بخواهیم کار دیگری انجام دهیم چه؟ برای این کار از دستور else استفاده میکنیم.
ساختار کلی به صورت زیر است:
if شرط:
دستورهای حالت اول
else:
دستورهای حالت دوماگر شرط True باشد، دستورات داخل if اجرا میشوند. در غیر این صورت، دستورات داخل else اجرا خواهند شد.
مثال اول
age = 20
if age >= 18:
print("Adult")
else:
print("Child")خروجی:
Adultمثال دوم
age = 12
if age >= 18:
print("Adult")
else:
print("Child")خروجی:
Childچون شرط برقرار نیست، برنامه وارد بخش else میشود.
مثال با نمره
score = 85
if score >= 50:
print("Passed")
else:
print("Failed")خروجی:
Passedاگر مقدار score برابر ۳۰ باشد، خروجی به شکل زیر خواهد بود:
Failedمثال با ورودی کاربر
age = int(input("Enter your age: "))
if age >= 18:
print("Welcome")
else:
print("Access denied")نمونه اجرا:
Enter your age: 16
Access deniedنکته مهم این است که از بین if و else فقط یکی اجرا میشود.
number = 10
if number > 5:
print("Greater than 5")
else:
print("5 or less")
خروجی:
گاهی بیش از دو حالت داریم. مثلاً اگر نمره بالای ۹۰ باشد «عالی»، بین ۷۰ تا ۹۰ باشد «خوب» و کمتر از ۷۰ باشد «نیاز به تلاش بیشتر». برای چنین شرایطی از دستور elif استفاده میکنیم که در ادامه با آن آشنا خواهیم شد.
ساختار کلی به صورت زیر است:
if شرط اول:
دستورها
elif شرط دوم:
دستورها
else:
دستورهاابتدا شرط اول بررسی میشود. اگر درست نباشد، شرط دوم بررسی میشود. اگر هیچکدام برقرار نباشند، بخش else اجرا میشود.
مثال اول
score = 95
if score >= 90:
print("Excellent")
elif score >= 70:
print("Good")
else:
print("Need more practice")خروجی:
Excellentمثال دوم
score = 80
if score >= 90:
print("Excellent")
elif score >= 70:
print("Good")
else:
print("Need more practice")خروجی:
Goodscore = 45
if score >= 90:
print("Excellent")
elif score >= 70:
print("Good")
else:
print("Need more practice")خروجی:
Need more practiceage = 16
if age < 13:
print("Child")
elif age < 18:
print("Teenager")
else:
print("Adult")خروجی:
Teenagerهیچ محدودیتی برای تعداد elif وجود ندارد.
score = 65
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("F")خروجی:
Dپایتون شرطها را از بالا به پایین بررسی میکند و به محض اینکه یکی از شرطها درست باشد، دیگر شرطهای بعدی را بررسی نمیکند. به همین دلیل ترتیب نوشتن شرطها اهمیت زیادی دارد.
ابتدا فقط یک if نوشته میشود.
بعد از آن میتوان هر تعداد elif نوشت.
در انتها، در صورت نیاز، فقط یک else قرار میگیرد.
بخش else اختیاری است.
گاهی لازم است بیش از یک شرط را همزمان بررسی کنیم. برای مثال:
برای چنین شرایطی از عملگرهای منطقی استفاده میکنیم. در پایتون سه عملگر منطقی وجود دارد:
andornotعملگر and زمانی نتیجه True میدهد که هر دو شرط درست باشند.
ساختار
شرط اول and شرط دوممثال اول
age = 20
has_card = True
if age >= 18 and has_card:
print("Access granted")خروجی:
Access grantedدر این مثال هر دو شرط برقرار هستند؛ بنابراین دستور اجرا میشود.
مثال دوم
age = 20
has_card = False
if age >= 18 and has_card:
print("Access granted")خروجی:
(هیچ خروجی)چون شرط دوم برقرار نیست، کل شرط نادرست میشود.
عملگر or زمانی نتیجه True میدهد که حداقل یکی از شرطها درست باشد.
ساختار
شرط اول or شرط دوممثال
score = 95
has_project = False
if score >= 90 or has_project:
print("Passed")خروجی:
Passedاگر حتی یکی از دو شرط برقرار باشد، برنامه وارد if میشود.
مثال دیگر
score = 60
has_project = True
if score >= 90 or has_project:
print("Passed")خروجی:
Passedعملگر not نتیجهی یک شرط را برعکس میکند. اگر شرط True باشد، not آن را به False تبدیل میکند. اگر شرط False باشد، نتیجه True خواهد شد.
مثال
is_logged_in = False
if not is_logged_in:
print("Please log in.")خروجی:
Please log in.چون مقدار is_logged_in برابر False است، عبارت not is_logged_in برابر True میشود.
گاهی لازم است پس از برقرار بودن یک شرط، شرط دیگری نیز بررسی شود. در این حالت، یک دستور if را داخل دستور if دیگری مینویسیم. به این نوع ساختار شرط تو در تو یا Nested if گفته میشود.
ساختار کلی
if شرط اول:
if شرط دوم:
دستورهاابتدا شرط اول بررسی میشود. اگر شرط اول برقرار باشد، شرط دوم بررسی خواهد شد. اما اگر شرط اول برقرار نباشد، شرط دوم اصلاً بررسی نمیشود.
مثال
فرض کنید فقط افراد بالای ۱۸ سال که کارت عضویت دارند، اجازه ورود دارند.
age = 22
has_card = True
if age >= 18:
if has_card:
print("Welcome")خروجی:
Welcomeشرطهای تو در تو زمانی مناسب هستند که شرط دوم فقط در صورت برقرار بودن شرط اول معنا داشته باشد. برای مثال:
در چنین شرایطی استفاده از Nested if میتواند خوانایی برنامه را افزایش دهد.
در پایتون برای شرطهای ساده میتوان به جای نوشتن چند خط کد با if و else، از عملگر شرطی (Ternary Operator) استفاده کرد. این روش همان نتیجه را با یک خط کد تولید میکند و باعث کوتاهتر و خواناتر شدن برنامه میشود. البته بهتر است از آن فقط برای شرطهای ساده استفاده کنید.
در پایتون میتوان چند مقایسه را بهصورت زنجیرهای و خواناتر نوشت. برای مثال، به جای نوشتن age > 18 and age < 50 میتوان به سادگی از 18 < age < 50 استفاده کرد. هر دو عبارت نتیجه یکسانی دارند، اما روش دوم کوتاهتر، خواناتر و از ویژگیهای کاربردی زبان پایتون است.
سه عدد از کاربر دریافت کنید و با استفاده از دستورات شرطی، بزرگترین عدد را نمایش دهید.
نکته: از تابع max() استفاده نکنید.
سن یک شخص را دریافت کنید و با استفاده از if، elif و else مشخص کنید در کدام گروه قرار میگیرد.
سن و وضعیت داشتن کارت عضویت را از کاربر دریافت کنید.
اگر سن کاربر حداقل 18 سال باشد و کارت عضویت داشته باشد، پیام Welcome را چاپ کنید؛ در غیر این صورت پیام Access Denied نمایش داده شود.
نمره یک دانشآموز را دریافت کنید و مطابق جدول زیر، حرف معادل آن را نمایش دهید.
عددی از کاربر دریافت کنید.
اگر عدد بین 1 تا 100 (شامل دو مقدار) باشد، عبارت Inside Range و در غیر این صورت عبارت Outside Range را نمایش دهید.
نکته: این تمرین را با استفاده از مقایسه زنجیرهای حل کنید.
در بسیاری از برنامهها لازم است یک یا چند دستور چندین بار تکرار شوند. برای انجام این کار، به جای نوشتن کدهای تکراری از حلقهها (Loops) استفاده میکنیم که اجرای برنامه را سادهتر و خواناتر میکنند.
گام بعدی : حلقههای تکرارحلقههای تکرار در پایتون (Python Loops) فرض کنید میخواهید جملهی “سلام” را ۱۰ بار چاپ کنید. یک راه این است که
عملگرهای مقایسهای (Comparison Operators) تا اینجا یاد گرفتیم که با عملگرهای محاسباتی میتوانیم اعداد را با هم جمع، تفریق و…
دریافت ورودی از کاربر در پایتون (Python Input) تا اینجا یاد گرفتیم که چگونه مقدار یک متغیر را خودمان داخل
عملگرهای محاسباتی در پایتون (Arithmetic Operators) تقریباً تمام برنامهها به انجام محاسبات نیاز دارند؛ از جمع و تفریق ساده گرفته
کار با رشتهها در پایتون (Python Strings) مدیریت و پردازش متنها در برنامهها در دنیای برنامهنویسی، اطلاعات همیشه عدد و
متغیرها در پایتون (Python Variables) اولین قدم برای ذخیره و پردازش اطلاعات تصور کنید یک برنامه مینویسید که قرار است
شروع برنامه نویسی با پایتون ساخت اولین پروژه (Hello World) فهرست مطالب بعد از نصب Python چه کاری انجام دهیم؟
آموزش نصب پایتون و ابزارهای موردنیاز (راهنمای کامل برای ویندوز) اگر تصمیم گرفتهاید برنامهنویسی را یاد بگیرید، احتمالاً نام زبان
الگوهای کندل استیک پیشرفته: راهنمای جامع برای معاملهگران حرفهای الگو های کندل استیک پیشرفته (یا به بیان دیگر الگوهای شمعی
آیلتس جنرال یا آکادمیک؟ کدام را باید انتخاب کنیم؟ آیا میدانید که انتخاب اشتباه بین آیلتس آکادمیک و جنرال میتواند
دانلود رایگان نمونه سوالات آزمون PTE جنرال اگر تصمیم گرفتهاید با هدف مهاجرت به یک کشور انگلیسی زبان، در آزمون
معرفی آزمون های زبان انگلیسی معتبر در ایران| کدام یک بهتر است؟ اگه قصد ادامه تحصیل یا مهاجرت داشته باشید،
بهترین روشهای آمادگی برای آزمون تافل چگونه برای آزمون تافل آماده شویم؟ آیا شما هم قصد دارید برای کسب نمره
چگونه در خارج از کشور برای آزمون آیلتس ثبت نام کنیم؟ اگر قصد مهاجرت تحصیلی یا کاری دارید، احتمالاً نام
آزمون GRE مناسب چه رشتههایی است؟ اگر قصد ادامه تحصیل در مقاطع کارشناسی ارشد یا دکترا در دانشگاههای بینالمللی را
بهترین نمونه سوالات اسپیکینگ تافل هوم ادیشن آزمون تافل هوم ادیشن این روزها یکی از پرطرفدارترین گزینهها برای سنجش مهارت
نحوه ثبت نام در آزمون دولینگو در ایران به صورت کامل نحوه ثبت نام در آزمون دولینگو در ایران چگونه
هزینه آزمون GRE در ایران چقدر است؟ اگر قصد مهاجرت تحصیلی دارید، احتمالاً نام آزمون GRE به گوشتان خورده است.
راهنمای کامل ثبتنام و پرداخت هزینه آزمون PTE در ترکیه برای متقاضیان ایرانی آزمون PTE (Pearson Test of English) یکی از
ووچر آزمون چیست و چگونه میتوان آن را تهیه کرد؟ ثبتنام در آزمونهای بینالمللی مانند TOEFL، GRE، PTE، GMAT، IELTS
بهترین تکنیک های لیسنینگ آیلتس برای کسب نمره بالا آزمون آیلتس (IELTS) یکی از معتبرترین آزمونهای ارزیابی مهارت زبان انگلیسی
آزمون پلاس مرجع آموزش برنامهنویسی، هوش مصنوعی، شبکه، نمونه سؤالات کنکورهای کامپیوتر، آزمونهای زبان دکتری و مدارک بینالمللی فناوری اطلاعات است. با ارائه آموزشهای تخصصی، منابع آموزشی و راهنمای آزمونها، به دانشجویان و متخصصان کمک میکنیم تا مهارتهای خود را توسعه داده و در مسیر موفقیت تحصیلی و شغلی گام بردارند.