پیمایش حلقه های For چیست ؟
پیمایش حلقه های For چیست ؟
بسیاري از محاسبات شامل پردازش کاراکترهاي یک رشـته بـه صـورت جداجـدا اسـت. ایـن محاسبات از ابتداي رشته آغاز میشوند، کاراکترها را یکییکی و به ترتیب انتخاب میکنند، عملـی روي آن انجام میدهند و این کار را تا انتهاي رشته ادامه میدهند. این الگوي پردازش را پیمایش میگویند. یکی از راههاي پیادهسازي پیمایش استفاده از یک دستور while است:
index = 0
while index < len(fruit):
letter = fruit[index]
print letter
index = index + 1
این حلقه طول رشته را میپیماید و هر حرف آن را در یک خط نمایش میدهد. شرط حلقه بـه صورت (fruit(len < index میباشد، بنابراین هرگاه index برابر با طول رشته شـد، شـرط false میشود و بدنۀ حلقه دیگر اجرا نمیگردد. آخرین اندیس قابل دسترسی کـاراکتري بـا انـدیس (1-fruit(len است که آخرین کاراکتر درون رشته میباشد.
تمرین 7-1 :تابعی بنویسید که رشتهاي را به عنوان آرگومان بگیرد و هر حرف آن را از انتها در هر خط چاپ کند. استفاده از یک اندیس جهت پیمایش مجموعهاي از مقادیر به حدي رایج است که پـایتون راه دیگري را با نحوة نگارش سادهتر تدارك دیده است:
for char in fruit:
print char
در هر بار اجراي حلقه، کاراکتر بعدي رشته به متغیر char اختصاص داده میشود و حلقـه تـا زمانی که هیچ کاراکتري باقی نمانده باشد ادامه مییابد. مثال زیر نشان میدهد که چگونه میتوان جهت تولید مجموعههاي مرتب -بـر اسـاس حـروف الفبا- از یک حلقۀ for و عمل الحاق استفاده کرد. براي نمونه در کتاب «رابرت مککلوسکی» با عنوان «راه را بــه جوجــهاردكهــا نشــان بــده»، نــام جوجــهاردكهــا Jack ،Kack ،Lack ،Mack، Nack،Ouacka ،Pack و Quack میباشد. این حلقه اسامی را به ترتیب چاپ میکند:
prefixes = “JKLMNOPQ”
suffix = “ack”
for letter in prefixes:
print letter + suffix
خروجی برنامه به این صورت است:
Jack
Kack
Lack
Mack
Nack
Oack
Pack
Qack
البته این اسامی کاملاً هم درست نیستند زیرا “Ouack “و “Quack “بـا غلـط املایـی بـه
کار رفته اند.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید