نحوه استفاده از ساختارهای تکرار (حلقه) در پایتون

بطور کلی در کدهای نوشته شده بصورت متوالی (پشت سر هم) اجرا می شوند اما ممکن است شرایطی بوجود بیاید که شما نیاز داشته باشید یک قطعه کد چند بار تکرار شود. در پایتون دو ساختار برای تکرار دستورات وجود دارد.

حلقه while

حلقه تکرار while در زبان برنامه نویسی پایتون نیز همانند سی شارپ و جاوا اسکریپت، تا زمان برقرار بودن شرط دستورات را اجرا می نماید. معمولاً از این حلقه زمانی استفاده می شود که تعداد دفعات تکرار مشخص نباشد.

ساختار حلقه while در پایتون به شکل زیر می باشد:

while شرط:
    دستورات

مثال: برنامه ای بنویسید که عددی را از کاربر دریافت کرده و معکوس آن را نمایش دهد. برای مثال اگر کاربر عدد 123 را وارد نمود، 321 در خروجی نمایش داده شود.

num = int(input('please enter a number : '))
while (num > 0):
    print(num % 10)
    num = num // 10

با تقسیم متوالی بر 10 می توان رقم های یک عدد را از یکدیگر تفکیک کرد. هنگامیکه خارج قسمت تقسیم یک عدد بر 10 را نمایش میدهیم در اصل رقم آخر آن چاپ می شود. در مرحله بعدی نیز برای حذف رقم آخر از دستور زیر استفاده شده است.

num = num // 10

در مثال فوق از عملگر // به جای / استفاده شده است تا حاصل تقسیم بصورت صحیح در نظر گرفته شود نه اعشاری.

مثال: برنامه ای بنویسید که عدد را دریافت که و تعداد ارقام آن را نمایش دهد.

num = int(input('please enter a number : '))
counter = 0
while (num > 0):
    num = num // 10
    counter += 1
print(counter)

در این مثال از یک متغیر دیگر به نام counter جهت ذخیره سازی تعداد ارقام استفاده شده است و پس از هر بار حذف رقم آخر، یک واحد به این شمارنده اضافه شده و در نهایت نمایش داده می شود.

مثال: برنامه ای بنویسید که عددی از کاربر دریافت کرده و مجموع ارقام آن را نمایش دهد.

num = int(input('please enter a number : '))
sum = 0
while (num > 0):
    sum += num % 10
    num //= 10
print(sum)

برای حل این تمرین نیز در هر مرحله آخرین رقم به محتوای اضافه sum شده و سپس اخرین رقم حذف می گردد که تکرار این عمل موجب می شود حاصل جمع ارقام بدست آید.

حلقه for

از این ساختار تکرار (حلقه) برای پیمایش درون یک مجموعه مانند لیست یا متن ها استفاده می شود و عملکرد آن همانند حلقه foreach در زبان هایی مانند سی شارپ می باشد.

ساختار کلی این حلقه به شکل زیر می باشد:

for متغیر in مجموعه:
    دستورات

عملکرد for به این صورت می باشد که از ابتدا تا انتهای یک لیست یا متن را پیمایش کرده و متغیر تعریف شده در آن در هر مرحله به یک عضو اشاره می کند. برای مثال اگر قصد داشته باشید کاراکترهای یک متن را به صورت حرف به حرف استخراج کرده و نمایش دهید، می توانید به شکل زیر عمل کنید:

text = "PYTHON"
for item in text:
    print(item)

برای پیمایش درون یک لیست نیز می توان به شکل زیر عمل کرد:

colors = ['red', 'green', 'orange', 'blue', 'navy']
for c in colors:
    print(c)

متد range

از این متد برای تولید اعداد بین بازه دلخواه استفاده می شود. برای مثال اگر قصد داشته باشید لیستی از اعداد بین 10 تا 20 تولید شود می توانید از دستور زیر استفاده نمایید:

range(10, 20)

مثال: برنامه ای بنویسید که اعداد 1 تا 10 را نمایش دهد.

numbers = range(1, 10)
for n in numbers:
    print(n)

مثال: برنامه ای بنویسید که اعداد زوج بین 10 تا 100 را نمایش دهد.

numbers = range(10, 100)
for n in numbers:
    if(n % 2 == 0):
        print(n)