🔁 حلقه while در پایتون
حلقه while تا زمانی که شرط آن درست (True) باشد، به اجرا ادامه میدهد.
این حلقه برای زمانی مناسب است که تعداد دقیق تکرارها را از قبل نمیدانید و باید بر اساس یک شرط تکرار کنید.
🔹 ساختار پایه حلقه while
count = 0
while count < 5:
print(count)
count += 1
⏳ برای اجرا دکمه را بزنید...
🔹 حلقه نامتناهی (و جلوگیری از آن)
اگر شرط همیشه درست باشد، حلقه تا ابد ادامه مییابد. با break میتوان آن را متوقف کرد:
count = 0
while True:
print(count)
count += 1
if count == 5:
break
⏳ برای اجرا دکمه را بزنید...
🔹 دستورهای break و continue
مثال break: خروج از حلقه
count = 0
while count < 10:
if count == 5:
break
print(count)
count += 1
⏳ برای اجرا دکمه را بزنید...
مثال continue: رد کردن یک دور
count = 0
while count < 10:
count += 1
if count % 2 == 0: # اعداد زوج
continue
print(count) # فقط اعداد فرد
⏳ برای اجرا دکمه را بزنید...
🔹 else در حلقه while
بلوک else زمانی اجرا میشود که حلقه بدون break کامل شده باشد:
count = 0
while count < 3:
print(count)
count += 1
else:
print("Loop finished without break.")
⏳ برای اجرا دکمه را بزنید...
🔹 حلقههای تو در تو
row = 1
while row <= 3:
col = 1
while col <= 3:
print(f"({row},{col})", end=" ")
col += 1
print() # خط جدید
row += 1
⏳ برای اجرا دکمه را بزنید...
🔹 مثالهای کاربردی
مثال ۱: محاسبه فاکتوریل
n = 5
factorial = 1
i = 1
while i <= n:
factorial *= i
i += 1
print(f"{n}! = {factorial}")
⏳ برای اجرا دکمه را بزنید...
مثال ۲: دنباله فیبوناچی
a, b = 0, 1
count = 0
while count < 10:
print(a, end=" ")
a, b = b, a + b
count += 1
⏳ برای اجرا دکمه را بزنید...
🔹 ترکیب while با else و break
numbers = [2, 4, 6, 8, 10]
search = 7
i = 0
while i < len(numbers):
if numbers[i] == search:
print(f"Found {search} at index {i}")
break
i += 1
else:
print(f"{search} not found in the list.")
⏳ برای اجرا دکمه را بزنید...
🔹 مثالهای تعاملی (فقط کپی)
کدهای زیر از تابع input() استفاده میکنند که در محیط مرورگر قابل اجرا نیستند. بنابراین بهصورت نمونه کد با دکمه کپی ارائه شدهاند.
مثال: دریافت ورودی تا شرط
number = None
while number != 0:
number = int(input("Enter a number (0 to exit): "))
print(f"You entered: {number}")
print("Loop ended.")
مثال: محاسبه مجموع اعداد مثبت
total = 0
number = 0
while number >= 0:
number = int(input("Enter a positive number (negative to stop): "))
if number > 0:
total += number
print(f"Current total: {total}")
print(f"Final total: {total}")
مثال جامع: شبیهسازی منو
choice = 0
while choice != 3:
print("\n--- Menu ---")
print("1. Say Hello")
print("2. Say Goodbye")
print("3. Exit")
choice = int(input("Choose an option: "))
if choice == 1:
print("Hello, User!")
elif choice == 2:
print("Goodbye, User!")
elif choice == 3:
print("Exiting...")
else:
print("Invalid option. Try again.")
print("Program ended.")
📌 نکات کلیدی
- ✅ حلقه
whileتا زمانی که شرط درست باشد اجرا میشود. - ✅ برای جلوگیری از حلقه نامتناهی، شرط را بهروز کنید یا از
breakاستفاده کنید. - ✅
breakباعث خروج از حلقه میشود. - ✅
continueیک دور حلقه را رد میکند. - ✅
elseدر حلقه زمانی اجرا میشود کهbreakنشود. - ✅
whileبرای زمانی مناسب است که تعداد تکرارها مشخص نیست.