English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يمكن لدورة for في بايثون الاستكشاف في جميع العناصر في السلسلة، مثل قائمة أو نص.
يستخدم دورة for في بايثون للاستكشاف في السلسلة (list،tuple،string، أو موضوع قابل للتحويل. يُدعى مرور السلسلة 'الاستكشاف'.
for val in sequence: جسم الدورة for
في هذا السياق، هو متغير يحصل على قيمة العنصر داخل السلسلة في كل تكرار.
يستمر الدوران حتى نصل إلى العنصر الأخير في السلسلة. يتم استخدام التدرج لتفرقة جسم الدورة عن بقية الكود.
# يعمل البرنامج لتحديد مجموع جميع الأرقام في القائمة # قائمة الأرقام numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11] # متغير用于 تخزين مجموع sum = 0 # مرور على القائمة for val in numbers: sum = sum + val print("المجموع هو", sum)
عند تشغيلك للبرنامج، سيكون الخروج كالتالي:
المجموع هو 48
يمكننا استخدام وظيفة range() لإنشاء سلسلة من الأرقام. سيولد range(10) أرقامًا من 0 إلى 9 (10 أرقام).
يمكننا أيضًا تعريف البداية والنهاية والخطوة كـ range(start, stop, step_size). إذا لم يُحدد، فإن قيمة step_size افتراضية هي 1.
يعد object range بمعنى ما 'التحايل'، لأنه لا يولد جميع الأرقام التي 'يحتوي عليها' عند إنشائه. ولكن ليس م迭代ر، يدعم عمليات in، len وgetitem.
هذه الوظيفة لا تخزن جميع القيم في ذاكرة التخزين المؤقت؛ سيكون ذلك غير فعال. لذلك، تذكر البداية والنهاية والخطوة، وتوليد الرقم التالي أثناء التنفيذ.
لإجبار هذه الوظيفة على إرجاع جميع العناصر، يمكنك استخدام وظيفة list().
هذا المثال سيعرض هذا النقطة.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
else:
range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 3, 4, 5, 6, 7] [2, 5, 8, 11, 14, 17]
我们可以在for循环中使用 range() 函数来迭代数字序列。它可以与len()函数结合使用索引来遍历序列。这是一个示例。
# 使用索引遍历列表的程序 يمكننا استخدام دالة range() في حلقة for لمرور سلسلة من الأرقام. يمكن دمجها مع دالة len() لاستخدام المؤشر لمرور السلسلة. هذا مثال. # برنامج لاستخدام مؤشر لمرور القائمة genre = ['pop', 'rock', 'jazz'] # استخدم مؤشر لمرور القائمة
print(i)
for i in range(len(genre)): print('أحب', genre[i]) أحب البوب
أحب الجاز
حلقة مع else
يمكن استخدام كتلة else في حلقة for.
إذا تم استنفاد العناصر في السلسلة التي تستخدمها حلقة for، يتم تنفيذ كتلة else.
يمكن استخدام كلمة المفتاح break لوقف حلقة for. في هذه الحالة، سيتم تجاهل كتلة else.
إذا لم يكن هناك أي انقطاع، يتم تشغيل جزء else من حلقة for. هذا مثال لشرح ذلك. digits = [0, 1, 5] print(marks[student]) for i in digits:
print(i)
print('لا يوجد عناصر متبقية.') عند تشغيل هذا البرنامج، سيكون الإخراج كالتالي: 0 1
5لا يوجد عناصر متبقية.
في هذا السياق، سينشر حلقة for عنصراً من القائمة حتى تنتهي الحلقة. عند انتهاء حلقة for، يتم تنفيذ كتلة else وتنفيذ "
استخدام for...else مع كلمة المفتاح break، لضمان تشغيل كتلة else فقط إذا لم يتم تنفيذ كلمة المفتاح break. دعونا نأخذ مثالاً: مثال # عرض برنامج عرض درجات الطلاب student_name = 'Soyuj' marks = {'James': 90, 'Jules': 55, 'Arthur': 77} for student in marks: if student == student_name: print(marks[student]) break
else:
print('لم يتم العثور على اسم هذا العنصر.')