مع range تتكرر الحلقة عددًا من المرات. لكن كثيرًا ما نريد أن نمرّ على مجموعة قيم جاهزة، مثل درجات حرارة الأسبوع. نكتب القيم بين قوسين مربعين [ ] بعد in:
for temp in [9, 7, 13, 11]:
print(temp)9 7 13 11
في كل دورة يأخذ المتغير temp القيمة التالية بالترتيب، من الأولى حتى الأخيرة. ويمكن أن نحفظ القيم في متغير أولًا ثم نكتب اسمه بعد in:
past_temp_list = [9, 7, 13, 11, 10, 8, 14]
for temp in past_temp_list:
print(temp)9 7 13 11 10 8 14
| الكود | المتغير يأخذ |
|---|---|
| for i in range(3): | 0, 1, 2 |
| for temp in [9, 7, 13]: | 9, 7, 13 |
| for letter in "abc": | a, b, c |
داخل الحلقة نستطيع أن نفعل أي شيء بالقيمة: نجمعها مثلًا. نبدأ المجموع بصفر قبل الحلقة، ونطبعه بعدها:
prices = [15, 20, 10]
total = 0
for price in prices:
total = total + price
print("Total: " + str(total))Total: 45
المرور على حروف نص
النص سلسلة من الحروف، فإذا كتبناه بعد in أخذنا حروفه حرفًا حرفًا:
for letter in "Python":
print(letter)P y t h o n
ومع if داخل الحلقة نستطيع أن نعدّ حرفًا معيّنًا:
word = "banana"
count = 0
for letter in word:
if letter == "a":
count = count + 1
print(count)3
for x in "prices": تمرّ على حروف الكلمة prices نفسها، لا على القيم المحفوظة في المتغير.تدريبات
اطبع كل قيم num_list بحلقة for، واجعل اسم متغير الحلقة num.
num_list = [4, 8, 12, 16]
اضغط «تشغيل» لترى النتيجة. أسند القيم Good morning و Good night و Hello (بهذا الترتيب) إلى المتغير word_list، ثم اطبعها بحلقة for متغيرها word.
اضغط «تشغيل» لترى النتيجة. أكمل الفراغين لتُطبع درجات الحرارة السبع واحدة في كل سطر.
past_temp_list = [7, 10, 12, 9, 11, 8, 15]
for ___ in ___:
print(temp)اضغط «تشغيل» لترى النتيجة. البرنامج يطبع حروف الكلمة name بدل حروف الاسم المحفوظ. صحّحه ليطبع حروف Salma حرفًا في كل سطر.
تلميح
احذف علامتي التنصيص حول اسم المتغير.name = "Salma"
for letter in "name":
print(letter)اضغط «تشغيل» لترى النتيجة. اشتريت أدوات مدرسية بالأسعار 12 و 30 و 8 و 25 جنيهًا. اجمعها بحلقة for واطبع Total: 75.
prices = [12, 30, 8, 25]
اضغط «تشغيل» لترى النتيجة. عُدّ كم مرة يظهر الحرف e في الكلمة excellence واطبع العدد فقط.
word = "excellence"
اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
for v in [a, b, c]:يأخذ المتغير v كل قيمة بالترتيب.- يمكن حفظ القيم في متغير وكتابة اسمه بعد
inبدون علامتي تنصيص. for letter in "text":تمرّ على حروف النص حرفًا حرفًا.