حلقات (Python). حلقة مع عداد - لـ


حلقات تخيل موقفًا نحتاج فيه إلى عرض كلمة & quot؛ Hello & quot؛ 10 مرات. ماذا يجب ان نفعل؟
يمكنك أخذ وكتابة الأمر 10 مرات print (& quot؛ Hello & quot؛) <قبل> طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛) طباعة (& quot؛ مرحبًا & quot؛)
ولكن ماذا لو لم تكن بحاجة إلى 10 مرات ، بل 20 ، 30 ، 40 مرة؟ وإذا 200 مرة؟ في هذه الحالة ، سيستغرق النسخ وقتًا طويلاً. وإذا كان من الضروري أن يختار المستخدم بنفسه عدد المرات التي يحتاج فيها لعرض بعض المعلومات على الشاشة؟ & nbsp؛

سيساعدنا البناء الخاص على التعامل مع هذه المهمة ، & nbsp؛ وهو ما يسمى حلقة.
نبسب ؛
الحلقة - عبارة عن بناء خوارزمي يتم فيه تكرار تسلسل معين من الأوامر عدة مرات. < / div>
في معظم لغات البرمجة ، يوجد نوعان من الحلقات: حلقة بها متغير ( لـ ) وحلقة بها شرط ( while )
لنبدأ التعرف على دورات من النوع الأول.
نبسب ؛

حلقة مع متغير ، أو بعدد معروف من الخطوات (حلقة لـ )

غالبًا ما يحدث أننا نعرف عدد التكرارات لأي إجراء ، أو يمكننا حساب عدد التكرارات باستخدام البيانات المعروفة لدينا. بعض لغات البرمجة لديها أمر مكتوب باللغة الروسية بواسطة الأمر
REPEAT (number_of_repetitions) .

في هذه الحالة ، يمكننا تحديد عدد معين من التكرارات. & nbsp؛
من المثير للاهتمام أن نرى كيف تعمل هذه الدورة على مستوى الماكينة:
1. يتم تخصيص خلية ذاكرة معينة في الذاكرة ويتم كتابة عدد التكرارات عليها ،
2. عندما ينفذ البرنامج جسم الحلقة مرة واحدة ، فإن محتويات هذه الخلية (العداد) تتناقص بواحد.
3. ينتهي تنفيذ الحلقة عندما تكون هذه الخلية صفراً.

لا يوجد مثل هذا البناء في بايثون ، ولكن هناك لـ .
نبسب ؛
بحاجة إلى التذكر! الشكل العام لعامل لـ حلقة التشغيل كما يلي: <قبل> ل & lt ؛ عد متغير & GT. في & lt ؛ قيم متغير العداد & GT ؛: على & nbsp ؛ على & nbsp ؛ على & nbsp ؛ على & nbsp ؛ # حلقة الجسم
1. يمكن أن يكون اسم متغير العداد أي شيء (غالبًا ما يستخدمون الحرف & nbsp؛ i )
2. جسم الحلقة مكتوب بإزاحة إلى اليمين ، نسبة إلى السطر الذي يحتوي على رأس الحلقة (من أجل). يتحول معيار PEP8 بمقدار 4 مسافات.
نبسب ؛
دعنا نرى أمثلة عن كيفية كتابة ناتج الكلمة & quot؛ Hello & quot؛ 10 مرات
نبسب ؛
المثال 1
<قبل> بالنسبة إلى i في النطاق (10): # للمتغير i القابل للتغيير في النطاق (في النطاق) نبسب ؛ # 0 إلى 10 (لم يتم تضمين 10) print (& quot؛ Hello & quot؛) # طباعة مرحبًا المتغير & nbsp؛ i & nbsp؛ هو عداد التكرارات المكتملة (الخطوات) للحلقة. في هذه الحالة ، تعمل الحلقة من أجل i = 0 ، 1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9. أي 10 مرات بالضبط.
يمكن كتابة نفس البرنامج بشكل مختلف.
نبسب ؛
المثال 2
<قبل> بالنسبة إلى i في [0 ، 1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9]: طباعة (& quot؛ مرحبًا & quot؛) في المثال 2 ، نسرد جميع قيم المتغير i التي نحتاج إلى تكرارها. مع وجود عدد كبير من القيم ، يكون من الأنسب استخدام الوظيفة المضمنة & nbsp؛ range ().
تسلسل القيم التي تم إنشاؤها بواسطة الدالة & nbsp؛ range () & nbsp؛ محدود. ستنتهي الحلقة دائمًا. & nbsp؛

ميزات للحلقة

كيف تغير الخطوة في تسلسل القيم ولا تبدأ من الصفر؟ تقوم الوظيفة & nbsp؛ range () ، افتراضيًا ، بإنشاء تسلسل يكون فيه كل رقم تالٍ أكبر من الرقم السابق. يمكنك استخدام وظيفة & nbsp؛ range & nbsp؛ في إدخال آخر.

الشكل العام لإدخال الوظيفة هو كما يلي: <قبل> النطاق ([البدء] ، والتوقف [، الخطوة])
  • start : رقم بداية التسلسل.
  • stop : إنشاء أرقام تصل إلى ولكن لا تتضمن الرقم المحدد.
  • step : الفرق بين كل رقم في التسلسل (الخطوة)

عليك أن تتذكر!
  • يجب أن تكون جميع المعلمات أعدادًا صحيحة:
  • يمكن أن تكون كل معلمة موجبة أو سالبة.
  • range () (و Python بشكل عام) يعتمد على الفهرس 0. & nbsp؛ هذا يعني أن قائمة الفهرس تبدأ من 0 ، وليس 1. & nbsp؛ آخر عدد صحيح تم إنشاؤه بواسطة الدالة & nbsp؛ يعتمد range () & nbsp؛ على & nbsp؛ stop ولكنه لن يتضمنه. على سبيل المثال ، ينشئ & nbsp؛ range (0، 5) & nbsp؛ الأعداد الصحيحة 0 ، 1 ، 2 ، 3 ، 4 ، وليس بما في ذلك 5.


المثال 1
<قبل> بالنسبة لـ i في النطاق (10 ، 0 ، -1): طباعة (أنا * أنا) يعرض البرنامج مربعات الأعداد الطبيعية من 10 إلى 1 بترتيب تنازلي
  • 10 : الرقم الأول في التسلسل.
  • 0 : رقم نهاية التسلسل (لا يشمل هذا الرقم).
  • -1 : الخطوة


المثال 2
<قبل> بالنسبة لـ i في النطاق (0 ، 101 ، 5): طباعة (ط) يعرض البرنامج جميع الأرقام من 0 إلى 100 بزيادات قدرها 5
  • 0 : الرقم الأول في التسلسل.
  • 101 : رقم نهاية التسلسل (لا يشمل هذا الرقم).
  • 5 : الخطوة

كرر N مرات لا يمكن تسمية جميع البرامج ذات الحلقة for التي كتبناها حتى الآن بأنها عالمية. لأننا أنفسنا حددنا عدد التكرارات لجسم الحلقة. & nbsp ؛
ولكن ماذا لو كان عدد التكرارات يعتمد على قيمة أخرى؟ على سبيل المثال ، يريد المستخدم نفسه تحديد عدد مرات تكرار الدورة.
ماذا تفعل في هذه الحالة؟
كل شيء بسيط للغاية. بدلاً من قيم البداية والنهاية الرقمية ، يمكننا استخدام أي متغيرات يمكن حسابها أو تعيينها بواسطة المستخدم.

على سبيل المثال ، نحتاج إلى عرض مربعات الأرقام من 1 إلى N ، حيث يتم إدخال قيمة المتغير N من لوحة المفاتيح بواسطة المستخدم.
سيبدو البرنامج كما يلي: <قبل> N = int (input ()) # input N من لوحة المفاتيح من أجل i في النطاق (1 ، N + 1): # حلقة: لجميع أنا من 1 إلى N & nbsp ؛ - متغير أنا # سيأخذ القيم بالتسلسل من 1 إلى N. نبسب ؛ print (& quot؛ square & quot ؛، i، & quot؛ = & quot ؛، i * i) & nbsp؛ # طباعة مربع الرقم عند إدخال الحلقة ، يتم تنفيذ عبارة الإسناد i = 1 ، ثم يتم زيادة المتغير i بواحد مع كل خطوة ( i + = 1 ). يتم تنفيذ الحلقة بينما الشرط i & lt؛ = N صحيح. في جسم الحلقة ، تقوم عبارة الإخراج الوحيدة بطباعة الرقم نفسه ومربعه على الشاشة وفقًا للتنسيق المحدد.
للتربيع أو الأسس المنخفضة الأخرى ، من الأفضل استخدام الضرب.

شغّل البرنامج وشاهد نتيجة عمله بقيم مختلفة للمتغير N .
نبسب ؛
نبسب ؛