🐍 کتابخانه مرجع پایتون

🔁 حلقه 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.")

📌 نکات کلیدی

← قبلی: حلقه for → بعدی: لیست‌ها ↑ بازگشت به فهرست مقدماتی