حلقه for در پایتون نحو، تکرار لیست، شکستن، ادامه و سایر ویژگی ها

Цikl برای پایتون i چرخه در حالی که - اظهارات نرمافزار زبان ، برای مثال: عملگرهای تکرار، اجازه دهیدنشستند تکرار کد شماره داده شده زمان.

Цویل برای — сتاکسی

همانطور که قبلا توضیح داده شد، جinclude for در پایتون یک تکرار کننده بر اساس استй در هر چرخههویت. او است اعمال توسط عناصر چندگانه и فهرست، واژگان کلیدها و دیگر اشیاء قابل تکرار

یک حلقه در پایتون با کلمه کلیدی for شروع می شود و به دنبال آن یک نام متغیر دلخواه که مقدار شی بعدی را در دنباله داده شده ذخیره می کند. نحو کلی برای…in در پایتون به شکل زیر است:

برای در : else:      

اجزاء "توالی" لیست شده اند یکی پس از دیگری متغیر چرخه و یا به جای، متغیر به چنین عناصر. برای همه از آنها "عمل" انجام می شود.

یک حلقه for ساده در پایتون با یک مثال خاص:

>>> زبان ها = ["C"، "C++"، "Perl"، "Python"] >>> برای x در زبان ها: ... print(x) ... C C++ Perl Python >>>

بلوک else خاص استهفتم اگر یک برنامه نویسыکارگر с پرل آشناы با او، که برای کسانی که تعامل دارند с C و C++ - این یک نوآوری است. از نظر معنایی آن توابع тبه طور یکسان حلقه در حالی که.

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

عملگر شکست در پایتون – شکستن

اگر برنامه دارای یک حلقه for باشد لازم قطع کردنla بیانیه شکست، he کاملمی گذردو برنامه جریان اراده ادامهبه بدون فعال سازی از دیگری

بیشتر اوقات شکستن عبارات در پایتونیوتسیا با عبارات شرطی

edibles = ["کوفته ها"، "کوفته ها"، "تخم مرغ"، "آجیل"] برای غذا در خوراکی ها: if food == "dumplings": print("من کوفته نمی خورم!") break print("عالی، خوشمزه " + غذا) else: print("خوب است که کوفته ای نبود!") print("شام تمام شد.")

اگر این کد را اجرا کنید، نتیجه زیر را دریافت خواهید کرد:

برش های خوشمزه و عالی من کوفته نمی خورم! شام تمام شد.

ما "کوفته ها" را از لیست داده های موجود حذف می کنیم و دریافت می کنیم:

برش های خوشمزه، عالی، تخم مرغ های خوشمزه، عالی، آجیل های خوشمزه، خوب چیزی که کوفته وجود نداشت! شام تمام شد.

عملگر پرش پایتون - ادامه دهید

بیایید بگوییم که مخالفت کاربر با چنین محصولاتی آنقدر زیاد نیست که مصرف آنها را کاملاً رها کند. در نتیجه، حلقه با اپراتور ادامه می یابد continue. اسکریپت زیر از عبارت استفاده می کند continue، برای ادامه تکرار از طریق لیست "مخاطب دامپلینگ".

edibles = ["کوفته ها"، "کوفته ها"، "تخم مرغ"، "آجیل"] برای غذا در خوراکی ها: if food == "dumplings": print("من کوفته نمی خورم!") continue print("عالی، خوشمزه " + غذا) # این می تواند کدی برای لذت بردن از غذا باشد :-) other: print("من از کوفته ها متنفرم!") چاپ ("شام تمام شد.")

خط پایین:

برش های خوشمزه و عالی من کوفته نمی خورم! تخم مرغ عالی و خوشمزه آجیل عالی و خوشمزه من از پیراشکی متنفرم! شام تمام شد.

تکرار روی لیست ها با تابع range().

اگر می‌خواهید به فهرست‌های فهرست دسترسی داشته باشید، نحوه استفاده از حلقه for برای این منظور مشخص نیست. دسترسی به همه عناصر امکان پذیر است، اما نمایه عنصر غیرقابل دسترسی باقی می ماند. با این حال، روشی برای دسترسی به شاخص عنصر و خود عنصر وجود دارد. برای این منظور از تابع استفاده می شود range() همراه با تابع طول len():

فیبوناچی = [0,1,1,2,3,5,8,13,21،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX] برای i در محدوده (لن(فیبوناچی)): print(i,fibonacci[i])

گرفتن:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

توجه! هنگامی که اعمال می شود len() к list or tuple، تعداد متناظر عناصر دنباله داده شده به دست می آید.

مشکلات تکرار بیش از لیست

هنگام تکرار روی یک لیست، توصیه می شود از پویایی لیست در بدنه حلقه خودداری کنید. برای وضوح، می توانیم گزینه زیر را ارائه دهیم:

رنگها = ["قرمز"] برای i در رنگها: if i == "قرمز": رنگها += ["سیاه"] if i == "سیاه": رنگها += ["سفید"] چاپ(رنگها)

هنگام درخواست چه اتفاقی می افتد print(colours)?

['قرمز'، 'سیاه'، 'سفید']

برای جلوگیری از این امر، توصیه می شود مانند مثال زیر با استفاده از برش ها با کپی تعامل کنید:

رنگها = ["قرمز"] برای i در رنگها[:]: if i == "قرمز": رنگها += ["سیاه"] if i == "سیاه": رنگها += ["سفید"] چاپ(رنگها )

یافته ها:

['قرمز سیاه']

لیست تغییر کرده است colours، اما این عمل روی حلقه تأثیری نداشت. داده هایی که باید تکرار شوند در طول اجرای حلقه بدون تغییر باقی ماندند.

در پایتون 3 شمارش کنید

Enumerate یک تابع داخلی پایتون است. اکثر مبتدیان و همچنین برخی از برنامه نویسان با تجربه از وجود آن بی اطلاع هستند. این به شما امکان می دهد تا به طور خودکار تکرارهای حلقه را بشمارید. مثلا:

برای شمارنده، مقدار در enumerate(some_list): print(counter، value)

عملکرد enumerate همچنین یک آرگومان اختیاری می گیرد (مقدار مبدا که به طور پیش فرض برای 0). که آن را حتی کارآمدتر می کند.

my_list = ['سیب'، 'موز'، 'گیلاس'، 'هلو'] برای c، مقدار در enumerate(my_list, 1): print(c, value) # نتیجه: # 1 سیب # 2 موز # 3 گیلاس # 4 عدد هلو

پاسخ دهید