۴
کنترل جریان: شرط و حلقه 🔄
یاد میگیریم چطور برنامهمون رو هوشمند کنیم!
دستورات شرطی (if, elif, else)
با دستورات شرطی میتونیم تصمیمگیری رو به برنامهمون اضافه کنیم:
شرط ساده if
age = 18
if age >= 18:
print("شما بزرگسال هستید!")
print("میتونید رای دهید.")
print("این خط همیشه اجرا میشود")
if-else
score = 75
if score >= 50:
print("آفرین! قبول شدی 🎉")
else:
print("متاسفانه قبول نشدی 😢")
print("باید بیشتر تلاش کنی")
if-elif-else
grade = 85
if grade >= 90:
print("نمره: A")
elif grade >= 80:
print("نمره: B")
elif grade >= 70:
print("نمره: C")
elif grade >= 60:
print("نمره: D")
else:
print("نمره: F - مردودی")
حلقه for
حلقه for برای تکرار روی sequenceها (مثل لیست، رشته، range) استفاده میشه:
حلقه for ساده
# تکرار روی لیست
fruits = ["سیب", "موز", "پرتقال"]
for fruit in fruits:
print(f"میوه: {fruit}")
# تکرار روی رشته
name = "پایتون"
for char in name:
print(char)
# تکرار با range
for i in range(5): # از 0 تا 4
print(i)
for i in range(1, 6): # از 1 تا 5
print(i)
for i in range(0, 10, 2): # از 0 تا 9 با گام 2
print(i)
حلقه while
حلقه while تا زمانی که شرط True باشه اجرا میشه:
حلقه while
# شمارش معکوس
count = 5
while count > 0:
print(count)
count -= 1 # count = count - 1
print("پرتاب!")
# حلقه بینهایت (با break میشکند)
while True:
user_input = input("یک عدد وارد کن (exit برای خروج): ")
if user_input == "exit":
break
print(f"شما وارد کردید: {user_input}")
break و continue
برای کنترل بیشتر روی حلقهها از break و continue استفاده میکنیم:
break و continue
# break - خروج از حلقه
for number in range(10):
if number == 5:
break # وقتی number به 5 برسد از حلقه خارج میشود
print(number)
print("---")
# continue - رفتن به iteration بعدی
for number in range(10):
if number % 2 == 0: # اگر عدد زوج باشد
continue # به iteration بعدی برو
print(number) # فقط اعداد فرد چاپ میشوند
💡 نکته: از break برای خروج کامل از حلقه و از continue برای رد کردن iteration جاری استفاده میشه.
تمرین! 🧠
برنامهای بنویس که اعداد اول بین 1 تا 100 رو پیدا کنه و چاپ کنه. (عدد اول عددی است که فقط بر 1 و خودش بخشپذیر باشد)
جواب تمرین
print("اعداد اول بین 1 تا 100:")
for num in range(2, 101): # از 2 تا 100
is_prime = True
for i in range(2, int(num**0.5) + 1): # بررسی مقسومعلیهها
if num % i == 0:
is_prime = False
break
if is_prime:
print(num, end=" ")