درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
حسین احمدی
امتیاز: 215942
رتبه:3
344
265
416
2833
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر

آموزش زبان پایتون :: قسمت هشتم - حلقه ها

تاریخ 32 ماه قبل
نظرات 3
بازدیدها 2831
بوسیله حلقه ها در زبان پایتون یا هر زبان برنامه نویسی دیگری می توان بخش هایی از کد را به تعداد مورد نظر تکرار کرد یا بر روی آیتم های یک لیست کدی را اجرا نمود. در زبان پایتون دو نوع حلقه وجود دارد:

  1. حلقه while
  2. حلقه for

در این قسمت با نحوه استفاده از حلقه های while و for آشنا شده و در انتها با حلقه های تودرتو آشنا می شویم.


حلقه while


ساختار کلی حلقه while به صورت زیر است:

while expression:
    statement(s)

  1. در قسمت expression شرطی را که بر اساس آن حلقه باید اجرا شود را می نویسیم. تا زمانی که مقدار expression برابر true باشد حلقه اجرا خواهد شد.
  2. در قسمت statement هم دستور یا دستوراتی که باید در صورت true بودن expression اجرا شوند را می نویسیم.

در مثال زیر، بوسیله حلقه while اعداد 1 تا 10 را در خروجی نمایش می دهیم:

n = 1
while n <= 10:
    print(n)
    n += 1

دقت کنید که در block دستور while، با هر بار تکرار دستور while مقدار n یک واحد اضافه می شود تا زمانی که مقدار n بزرگتر از 10 شود، در این زمان شرط while برقرار نبوده و از حلقه خارج می شویم.

برای ایجاد حلقه های نامحدود می توانید به صورت زیر حلقه while را بنویسید: (حلقه های نامحدود حلقه هایی هستند که به تعداد نامحدود اجرا می شوند):

while True:
    n = input("Enter a number: ")
    print(n)

علاوه بر ساختاری که در بالا توضیح دادیم، می توان برای حلقه while بخش else نیز نوشت که در صورت برقرار نبودن شرط حلقه و قبل از خروج این بخش اجرا می شود:

n = 1
while n <= 10:
    print(n)
    n += 1
else:
    print("End of loop!")

با اجرای کد بالا خروجی زیر نمایش داده می شود:

1
2
3
4
5
6
7
8
9
10
End of loop!


حلقه for


بوسیله ساختار for می توان آیتم های یک لیست را پیمایش و عملیاتی را بر روی هر یک از آیتم ها انجام داد. ساختار کلی دستور for به صورت زیر است:

for var in list
    statement(s)

در ساختار بالا به ترتیب:

  1. به جای var نام متغیری را که هر یک از آیتم های لیست در آن قرار میگیرد را می نویسیم
  2. به جای list نام متغیری که به عنوان یک لیست یا دیکشنری یا ... تعریف شده است را می نویسیم
  3. در قسمت statement/s دستوراتی را که برای پردازش هر یک از آیتم های لیست نیاز داریم را می نویسیم

برای مثال، کد زیر آیتم های یک لیست را در خروجی نمایش می دهد:

list = ["item1","item2","item3","item4"]

for item in list:
    print(item)

print("All done.")

دستور for بر روی کلیه متغیرهایی که ماهیت لیست دارند مثل tuple ها یا dictionary ها قابل استفاده است.

مانند ساختار while برای ساختار for نیز می توان بخش else نوشت که این بخش پس از اتمام پیمایش لیست اجرا می شود:

list = ["item1","item2","item3","item4"]

for item in list:
    print(item)
else:
    print("End of for")

print("All done.")


دستور continue


بوسیله این دستور می توان در بخشی از block ساختار while یا for روند اجرا را به ابتدای حلقه و به تکرار بعدی منتقل کرد. برای مثال، فرض کنید می خواهیم اعداد زوج بین 1 تا 20 را در خروجی نمایش دهیم. بوسیله ساختار while و دستور break به صورت زیر کد مورد نظر را می نویسیم:

n = 1

while n <= 20:
    n += 1
    if n%2 != 0:
        continue
    print(n)

در کد بالا، زمانی که باقیمانده تقسیم مقدار n بر 2 مخالف صفر باشد، بوسیله دستور continue به ابتدای حلقه منتقل می شویم و تکرار بعدی اجرا می وشد. دقت کنید که دستور continue هم در حلقه while و هم در حلقه for قابل استفاده است.


دستور break


بوسیله این دستور می توان روند اجرای حلقه را متوقف کرد و از حلقه خارج شد. برای مثال، بوسیله حلقه while کدی می نویسیم که کاربر عددی را وارد کرده و نوع عدد که زوج است یا فرد را در خروجی نمایش دهد، کاربر می تواند اعداد مختلف را وارد کند تا زمانی که برای خروج عدد 0 را وارد کند:

while True:
    num = input("Enter a number (0 for exit): ")
    num = int(num)
    if num == 0:
        break
    elif num % 2 == 0:
        print("Even.")
    else:
        print("Odd.")

print("Good bye...")

خروجی دستورات بالا به صورت زیر خواهد بود:

Enter a number (0 for exit): 5
Odd.
Enter a number (0 for exit): 4
Even.
Enter a number (0 for exit): 3
Odd.
Enter a number (0 for exit): 0
Good bye...


حلقه های تو در تو


در زبان پایتون می توانید حلقه های تودرو را به صورت زیر ایجاد کنید:

while expression:
    while expression:
        statement(s)

برای مثال، کد زیر جدول ضرب 10 در 10 را در خروجی نمایش می دهد:

i = 1
j = 1

while i <= 10:
    while j <= 10:
        print(i*j, end="\t")
        j += 1
    j = 1
    i += 1
    print()

به دستور print دقت کنید، پارامتری با نام end به آن ارسال شده است، بوسیله end می توان مشخص کرد که انتهای رشته چاپ شده با چه کاراکتری تمام شود، به صورت پیش فرض کاراکتر new line در انتهای رشته قرار گرفته و دستور print بعدی، رشته را در خط جدید چاپ می کند، در اینجا گفتیم که به جای new line، رشته با کاراکتر tab تمام شود. این حالت استفاده از دستور print در Python 3 اضافه شده و در پایتون 2 باید ماژول sys را استفاده کنید که در قسمت های بعدی در مورد آن توضیح خواهیم داد. در قسمت بعدی با اعداد و توابع مرتبط که برای کار با اعداد استفاده می شوند بیشتر آشنا خواهیم شد. ITPRO باشید

نویسنده: حسین احمدی
منبع: جزیره برنامه نویسی وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
برچسب ها
ردیف عنوان
1 آموزش زبان پایتون :: قسمت اول - مقدمات و آشنایی اولیه با پایتون
2 آموزش زبان پایتون :: قسمت دوم - دانلود پایتون و نوشتن اولین برنامه
3 آموزش زبان پایتون :: قسمت سوم - آشنایی با ساختار اسکریپت های پایتون
4 آموزش زبان پایتون :: قسمت چهارم - نوع های داده در زبان پایتون
5 آموزش زبان پایتون :: قسمت پنجم - تبدیل نوع ها به یکدیگر
6 آموزش زبان پایتون :: قسمت ششم - عملگرها در پایتون
7 آموزش زبان پایتون :: قسمت هفتم - دستور if
8 آموزش زبان پایتون :: قسمت هشتم - حلقه ها
9 آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد
10 آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط
11 آموزش زبان پایتون :: قسمت یازدهم - لیست ها
12 آموزش زبان پایتون :: قسمت دوازدهم - Tuple ها
13 آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
14 آموزش زبان پایتون :: قسمت چهاردهم - مجموعه ها (Sets)
15 آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
16 آموزش زبان پایتون :: قسمت پانزدهم - روش Comprehension برای ایجاد لیست ها، دیکشنری ها و مجموعه ها
17 آموزش زبان پایتون :: قسمت شانزدهم - توابع (Functions)
18 آموزش زبان پایتون :: قسمت هفدهم - Closure ها
19 آموزش زبان پایتون :: قسمت هجدهم - توابع بازگشتی (Recursive Functions)
20 آموزش زبان پایتون :: قسمت نوزدهم - ماژول ها (Modules)
21 آموزش زبان پایتون :: قسمت بیستم - پکیج ها (Packages)
22 برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
  • سلام استاد
    میشه در مورد این قطعه کد آخر در مورد اجرا شدن حلقه ها توضیح بدین؟
    مخصوصا جایی که j یکبار یک واحد اضافه میشه و دوباره مساوی یک قرار میگیره
    ممنون از آموزش خوبتون
  • سلام دوست عزیز،
    در مورد متغیر j، دقت کنید اضافه کردن j داخل حلقه داخلی انجام میشه، اما قسمتی که دوباره برابر 1 قرار میگیره داخل حلقه اولی هست. در حقیقت تو حلقه دوم ردیف های مربوط به جدول ضرب چاپ میشه، یعنی وقتی مقدار i برابر 1 هست، برای بار اول حلقه داخلی مقدار 1 رو در مقادیر 1 تا 10 ضرب میکنه و نمایش میده، وقتی سطر اول چاپ شد، مقدار i برابر 2 میشه و مقدار j دوباره به مقدار 1 ست میشه تا با تکرار دوم حلقه اول، حاصل ضرب مقدار 2 در مقادیر 1 تا 10 چاپ بشه و الی آخر.
  • سلام استاد واقعا ممنون از بابت مطالب

برای ارسال نظر ابتدا به سایت وارد شوید