المُقدّمة
حلقة while عبارة عن بيان تدفق تحكم أساسي في Python يسمح لك بتنفيذ مجموعة من التعليمات البرمجية بشكل متكرر طالما كان شرط معين صحيحًا. فهو يوفر طريقة لأتمتة المهام المتكررة والتكرار عبر سلسلة من القيم. سوف تستكشف هذه المقالة بناء الجملة والاستخدام والتطبيقات المختلفة للحلقات في بايثون.
جدول المحتويات
بناء الجملة وبنية حلقة while
بناء جملة حلقة while في بايثون هو كما يلي:
while condition:
# code to be executed
الشرط هو تعبير منطقي يحدد ما إذا كانت الحلقة يجب أن تستمر أم تنتهي. إذا تم اعتبار الشرط صحيحًا، فسيتم تنفيذ كتلة التعليمات البرمجية الموجودة داخل الحلقة بشكل متكرر. بمجرد أن يصبح الشرط خطأ، ستخرج الحلقة، وسيستمر البرنامج بالعبارة التالية بعد الحلقة.
الاستخدام الأساسي والأمثلة
لنبدأ بمثال بسيط لفهم الاستخدام الأساسي للحلقة while. لنفترض أننا نريد طباعة الأرقام من 1 إلى 5. يمكننا تحقيق ذلك باستخدام حلقة while، كما هو موضح أدناه:
num = 1
while num <= 5:
print(num)
num += 1
الناتج
1
2
3
4
5
في هذا المثال، قمنا بتهيئة المتغير `num` إلى 1. وتستمر حلقة while إذا كان `num` أقل من أو يساوي 5. داخل الحلقة، نطبع قيمة `num` ثم نزيدها بمقدار 1 باستخدام الأمر عامل التشغيل `+=`. تتكرر هذه العملية حتى يصبح `num` 6، عندما يصبح الشرط False، وتنتهي الحلقة.
التحكم في التدفق باستخدام بيانات التحكم في الحلقة
توفر بايثون ثلاث عبارات للتحكم في الحلقة، "break"، و"متابعة"، و"pass"، للسماح لك بالتحكم في تدفق حلقة while.
بيان "الاستراحة".
يتم استخدام عبارة "break" للخروج من الحلقة قبل الأوان، حتى لو كان شرط الحلقة لا يزال صحيحا. يتم استخدامه غالبًا عند استيفاء شرط معين، والرغبة في إنهاء الحلقة على الفور. هنا مثال:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
الناتج
1
2
3
4
5
في هذا المثال، تنتهي الحلقة عندما يصبح `num` 6 لأننا استخدمنا عبارة `break` داخل شرط if. ونتيجة لذلك، تتم طباعة الأرقام من 1 إلى 5 فقط.
بيان "الاستمرار".
يتم استخدام عبارة "متابعة" لتخطي بقية كتلة التعليمات البرمجية داخل الحلقة والانتقال إلى التكرار التالي. يكون ذلك مفيدًا عندما تريد تخطي قيم أو شروط معينة والاستمرار في التكرار التالي. هنا مثال:
num = 1
while num <= 5:
if num == 3:
num += 1
continue
print(num)
num += 1
الناتج
1
2
4
5
في هذا المثال، تتخطى الحلقة القيمة 3 لأننا استخدمنا عبارة "متابعة" داخل شرط if. ونتيجة لذلك، لا تتم طباعة الرقم 3، وتستمر الحلقة مع التكرار التالي.
بيان "التمرير".
تعتبر عبارة "pass" عنصرًا نائبًا عندما لا تريد القيام بأي شيء داخل الحلقة. غالبًا ما يتم استخدامه كعنصر نائب مؤقت أثناء التطوير أو عندما تريد إنشاء حلقة فارغة. هنا مثال:
num = 1
while num <= 5:
pass
num += 1
في هذا المثال، لا تفعل عبارة "pass" شيئًا، وتزيد الحلقة قيمة "num" حتى تصبح 6.
حالات الاستخدام المشترك والتطبيقات
بينما تحتوي الحلقات على نطاق واسع من التطبيقات في بايثون. دعنا نستكشف بعض حالات الاستخدام الشائعة:
التكرار حتى يتم استيفاء الشرط
يتم استخدام حلقات while بشكل شائع عندما تريد التكرار حتى يتم استيفاء شرط معين. على سبيل المثال، نريد إيجاد القوة الأولى للعدد 2 أكبر من 1000. يمكننا استخدام حلقة while لتحقيق ذلك:
num = 1
while num <= 1000:
num *= 2
print(num)
الناتج
1024
في هذا المثال، تستمر الحلقة حتى يتجاوز `num` 1000. وفي كل تكرار، يتم ضرب `num` في 2، وتتم طباعة القيمة النهائية.
التحقق من صحة إدخال المستخدم
تعد حلقات while مفيدة للتحقق من صحة إدخال المستخدم والتأكد من أن الإدخال يلبي معايير معينة. على سبيل المثال، نريد مطالبة المستخدم بإدخال عدد صحيح موجب. يمكننا استخدام حلقة while لطلب الإدخال حتى يتم إدخال عدد صحيح صالح بشكل متكرر:
while True:
try:
num = int(input("Enter a positive integer: "))
if num > 0:
break
else:
print("Invalid input. Please enter a positive integer.")
except ValueError:
print("Invalid input. Please enter a valid integer.")
في هذا المثال، تستمر الحلقة إلى أجل غير مسمى حتى يتم إدخال عدد صحيح موجب صالح. تتعامل الكتلة "try-except" مع الأخطاء المحتملة عند تحويل الإدخال إلى عدد صحيح.
إنشاء حلقات لا نهائية
يمكن استخدام حلقات while لإنشاء حلقات لا نهائية، والتي تستمر إلى أجل غير مسمى حتى يتم استيفاء شرط معين. على سبيل المثال، لنقم بإنشاء حلقة لا نهائية بسيطة تطبع عبارة "Hello, World!" مرارا وتكرارا:
while True:
print("Hello, World!")
في هذا المثال، شرط الحلقة يكون صحيحًا دائمًا، لذا تستمر الحلقة إلى أجل غير مسمى. لإنهاء الحلقة، يمكنك استخدام عبارة `break` أو مقاطعة تنفيذ البرنامج.
قد تكون الحلقة اللانهائية مفيدة في سياق نظام المراقبة أو التسجيل في الوقت الفعلي. تخيل موقفًا حيث يجب عليك مراقبة نظام أو شبكة بشكل مستمر بحثًا عن أحداث أو تغييرات معينة وتسجيل المعلومات. ويمكن استخدام حلقة لا نهائية للتحقق من هذه الشروط واتخاذ الإجراءات المناسبة باستمرار.
تنفيذ حلقات اللعبة
بينما تُستخدم الحلقات بشكل شائع في تطوير اللعبة لتنفيذ حلقات اللعبة، والتي تتحكم في تدفق اللعبة وتتعامل مع مدخلات المستخدم. تتكون حلقة اللعبة عادةً من ثلاثة مكونات رئيسية: تحديث حالة اللعبة، وعرض رسومات اللعبة، والتعامل مع إدخالات المستخدم. إليك مثال مبسط:
game_running = True
while game_running:
# Update game state
# Render game graphics
# Handle user input
في هذا المثال، تستمر الحلقة طالما أن المتغير "game_running" هو True. داخل الحلقة، يمكنك تحديث حالة اللعبة، وعرض رسومات اللعبة، والتعامل مع إدخالات المستخدم. تتكرر هذه العملية حتى تنتهي اللعبة أو يختار اللاعب الخروج.
اقرأ أيضًا: برنامج تعليمي كامل لبايثون لتعلم علوم البيانات من الصفر
متداخلة أثناء الحلقات وتداخل الحلقات
بايثون يسمح لك بتداخل حلقات while، مما يعني أنه يمكنك الحصول على حلقة while داخل حلقة while أخرى. يكون هذا مفيدًا عندما تحتاج إلى تنفيذ مهام متكررة ضمن المهام المتكررة. هنا مثال:
outer_num = 1
while outer_num <= 3:
inner_num = 1
while inner_num <= 3:
print(outer_num, inner_num)
inner_num += 1
outer_num += 1
الناتج
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
في هذا المثال، لدينا حلقة while خارجية تتكرر من 1 إلى 3، وحلقة داخلية تتكرر من 1 إلى 3 لكل تكرار حلقة خارجية. تعرض عبارة الطباعة داخل الحلقة الداخلية قيم متغيري الحلقة.
النصائح وأفضل الممارسات لاستخدام while Loops
على الرغم من أن الحلقات عبارة عن بنيات قوية، إلا أنها قد تكون أيضًا عرضة للأخطاء إذا لم يتم استخدامها بشكل صحيح. فيما يلي بعض النصائح وأفضل الممارسات التي يجب وضعها في الاعتبار عند استخدام حلقات while:
تهيئة المتغيرات بشكل صحيح
قبل الدخول في حلقة while، قم بتهيئة أي متغيرات حلقة إلى قيمها الأولية. وهذا يضمن تقييم حالة الحلقة بشكل صحيح ويمنع السلوك غير المتوقع. على سبيل المثال:
count = 0
while count < 10:
print(count)
count += 1
في هذا المثال، قمنا بتهيئة المتغير `count` إلى 0 قبل الدخول إلى الحلقة.
ضمان إنهاء الحلقة
لتجنب الحلقات اللانهائية، تأكد دائمًا من أن حالة الحلقة ستصبح خطأ في النهاية. يمكن تحقيق ذلك عن طريق تحديث متغيرات الحلقة أو استخدام عبارات التحكم في الحلقة مثل "break". على سبيل المثال:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
في هذا المثال، تنتهي الحلقة عندما يصبح `num` 6 بسبب عبارة `break`.
تجنب الحلقات اللانهائية
كن حذرًا عند استخدام حلقات while لتجنب إنشاء حلقات لا نهائية لا تنتهي أبدًا. يمكن أن تؤدي الحلقات اللانهائية إلى تعطل البرنامج واستهلاك موارد النظام المفرطة. تحقق دائمًا من شروط الحلقة وتأكد من أنها قد تصبح خاطئة في مرحلة ما.
كتابة كود قابل للقراءة وقابل للصيانة
بينما يمكن أن تصبح الحلقات معقدة ويصعب فهمها إذا لم تتم كتابتها بشكل صحيح. استخدم أسماء متغيرات ذات معنى، وأضف تعليقات لشرح الغرض من الحلقة، وقم بتقسيم المهام المعقدة إلى مهام فرعية أصغر. وهذا يجعل التعليمات البرمجية الخاصة بك أكثر قابلية للقراءة والصيانة.
التقنيات والحيل المتقدمة
يمكن استخدام حلقات while بطرق متقدمة لتحقيق مهام محددة. فيما يلي بعض التقنيات والحيل المتقدمة:
التكرار باستخدام عبارات أخرى
في بايثون، يمكنك استخدام عبارة else مع حلقة while لتنفيذ كتلة تعليمات برمجية عندما يصبح شرط الحلقة False. يتم تنفيذ الكتلة الأخرى فقط إذا اكتملت الحلقة بشكل طبيعي دون أي عبارات فاصل. هنا مثال:
num = 1
while num <= 5:
print(num)
num += 1
else:
print("Loop completed")
الناتج
1
2
3
4
5
اكتملت الحلقة
في هذا المثال، يتم تنفيذ الكتلة else بعد اكتمال الحلقة بشكل طبيعي.
استخدام while Loops مع القوائم والسلاسل
يمكن استخدام حلقات while للتكرار على القوائم والسلاسل باستخدام متغير الفهرس. هنا مثال:
fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
print(fruits[index])
index += 1
الناتج
تفاحة
موز
الكرز
في هذا المثال، تتكرر حلقة while فوق عناصر قائمة "الفاكهة" باستخدام متغير الفهرس.
اقرأ أيضًا: كل ما يجب أن تعرفه عن هياكل البيانات المضمنة في بايثون – دليل المبتدئين!
مقارنة مع بنيات الحلقات الأخرى في بايثون
تعد حلقات while مجرد واحدة من العديد من بنيات الحلقات المتوفرة في بايثون. دعونا نقارن حلقات while مع حلقات for والتكرار:
بينما الحلقات مقابل الحلقات
في حين يتم استخدام الحلقات والحلقات للتكرار، إلا أن لهما حالات استخدام مختلفة. في حين أن الحلقات أكثر مرونة ويمكنها التعامل مع الظروف المعقدة، في حين أن حلقات for أكثر ملاءمة للتكرار عبر سلسلة من القيم. تعد حلقات while مفيدة عندما لا تعرف العدد الدقيق للتكرارات مقدمًا أو عندما تحتاج إلى إجراء حسابات معقدة. تكون الحلقات مفيدة عندما تريد التكرار عبر سلسلة من القيم، مثل قائمة أو سلسلة.
بينما الحلقات مقابل العودية
العودية هي تقنية حيث تستدعي الوظيفة نفسها لحل مشكلة ما. يمكن استخدامه لإنجاز مهام متكررة تشبه حلقات while، لكن به بعض الاختلافات. تعد حلقات while أكثر ملاءمة للمهام التكرارية حيث يكون لديك شرط إنهاء واضح ويجب عليك تنفيذ عدد ثابت من التكرارات. يعد التكرار أكثر ملاءمة لحل المشكلات المقسمة إلى مشكلات فرعية أصغر، مثل خوارزميات البحث والفرز واجتياز الأشجار.
وفي الختام
في هذه المقالة، قمنا باستكشاف مفهوم حلقات while في بايثون. لقد تعلمنا عن بناء الجملة والاستخدام الأساسي والتطبيقات المختلفة. ناقشنا أيضًا النصائح وأفضل الممارسات والأخطاء الشائعة والتقنيات المتقدمة لاستخدام الحلقات أثناء التكرار. أخيرًا، قمنا بمقارنة حلقات while مع بنيات حلقات أخرى في بايثون. بفضل هذه المعرفة، يمكنك الآن استخدام حلقات while بشكل فعال لأتمتة المهام المتكررة والتكرار عبر تسلسل القيم في برامج Python الخاصة بك.
أطلق العنان لقوة التميز في الذكاء الاصطناعي والتعلم الآلي! سجل الآن في موقعنا برنامج AI & ML BlackBelt Plus المعتمد ورفع مهاراتك إلى آفاق جديدة. لا تفوت فرصة إتقان أحدث التقنيات - قم بتغيير حياتك المهنية اليوم!
أيضًا، إذا كنت تبحث عن دورة لغة Python عبر الإنترنت، فاستكشف – مقدمة لبرنامج بايثون اليوم!
مقالات ذات صلة
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- PlatoData.Network Vertical Generative Ai. تمكين نفسك. الوصول هنا.
- أفلاطونايستريم. ذكاء Web3. تضخيم المعرفة. الوصول هنا.
- أفلاطون كربون، كلينتك ، الطاقة، بيئة، شمسي، إدارة المخلفات. الوصول هنا.
- أفلاطون هيلث. التكنولوجيا الحيوية وذكاء التجارب السريرية. الوصول هنا.
- المصدر https://www.analyticsvidhya.com/blog/2024/01/python-while-loop-with-examples/
- :لديها
- :يكون
- :ليس
- :أين
- 1
- 10
- 360
- a
- من نحن
- التأهيل
- تحقق
- الإجراءات
- تضيف
- تقدم
- متقدم
- بعد
- AI
- خوارزميات
- الكل
- السماح
- يسمح
- أيضا
- دائما
- an
- و
- آخر
- أي وقت
- اى شى
- تفاح
- التطبيقات
- مناسب
- هي
- البند
- AS
- تطلب
- At
- أتمتة
- متاح
- تجنب
- موز
- الأساسية
- BE
- لان
- أصبح
- يصبح
- قبل
- سلوك
- أقل من
- أفضل
- أفضل الممارسات
- أفضل
- حظر
- على حد سواء
- استراحة
- مدمج
- لكن
- by
- دعوات
- CAN
- التوظيف
- الحالات
- حذر
- معين
- التغييرات
- التحقق
- يختار
- واضح
- الكود
- تعليقات
- مشترك
- عادة
- قارن
- مقارنة
- إكمال
- الطلب مكتمل
- يكمل
- مجمع
- مكونات
- مفهوم
- حالة
- الشروط
- نظرت
- يتكون
- باستمرار
- تستهلك
- سياق الكلام
- استمر
- تواصل
- بشكل متواصل
- مراقبة
- التحول
- بشكل صحيح
- استطاع
- عد
- الدورة
- خلق
- خلق
- المعايير
- البيانات
- علم البيانات
- تحديد
- التطوير التجاري
- الخلافات
- مختلف
- صعبة
- ناقش
- يعرض
- منقسم
- do
- هل
- لا
- إلى أسفل
- أثناء
- كل
- على نحو فعال
- عناصر
- رفع
- آخر
- يعمل
- فارغ
- ينتهي
- تسجل
- ضمان
- يضمن
- ضمان
- أدخل
- دخل
- الدخول
- متساو
- أخطاء
- الأثير (ETH)
- تقييم
- حتى
- أحداث
- في النهاية
- كل شىء
- مثال
- أمثلة
- يتجاوز
- إلا
- مفرط
- تنفيذ
- أعدم
- خروج
- شرح
- اكتشف
- استكشاف
- التعبير
- زائف
- نهائي
- أخيرا
- الاسم الأول
- ثابت
- مرن
- تدفق
- متابعات
- في حالة
- تبدأ من
- فواكة
- وظيفة
- أساسي
- لعبة
- تطوير اللعبة
- ألعاب
- الرسومات
- أكبر
- مقبض
- مقابض
- معالجة
- يملك
- المرتفعات
- مرحبا
- هنا
- مرتفع
- HTTPS
- if
- تخيل
- فورا
- تنفيذ
- in
- زيادة
- مؤشر
- معلومات
- في البداية
- داخلي
- إدخال
- في الداخل
- إلى
- IT
- التكرار
- تكرير
- التكرارات
- نفسها
- م
- واحد فقط
- احتفظ
- علم
- المعرفة
- آخر
- قيادة
- تعلم
- تعلم
- أقل
- مثل
- قائمة
- قوائم
- سجل
- تسجيل
- طويل
- أبحث
- الرئيسية
- يمكن الحفاظ عليها
- يصنع
- رئيسي
- ماكس العرض
- ذات مغزى
- يعني
- يجتمع
- قابل
- ربما
- مانع
- ملكة جمال
- الأخطاء
- ML
- مراقبة
- مراقبة
- الأكثر من ذلك
- خطوة
- مضاعف
- يجب
- أسماء
- حاجة
- عش
- شبكة
- أبدا
- جديد
- التالي
- عادة
- لا شى
- الآن
- عدد
- أرقام
- of
- غالبا
- on
- مرة
- ONE
- online
- فقط
- عامل
- الفرصة
- or
- أخرى
- لنا
- خارج
- على مدى
- pass
- نفذ
- النائب
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- لاعب
- من فضلك
- المزيد
- البوينت
- إيجابي
- محتمل
- قوة
- قوي
- الممارسات
- يمنع
- طباعة
- مطبوعات
- المشكلة
- مشاكل
- عملية المعالجة
- البرنامج
- البرامج
- بصورة صحيحة
- ويوفر
- غرض
- بايثون
- نطاق
- عرض
- في الوقت الحقيقي
- أداء
- مرارا وتكرارا
- تكرارية
- الموارد
- REST
- نتيجة
- علوم
- البحث
- تسلسل
- عدة
- ينبغي
- أظهرت
- مماثل
- الاشارات
- مبسط
- حالة
- مهارات
- الأصغر
- So
- حل
- حل
- بعض
- محدد
- بداية
- الولايه او المحافظه
- ملخص الحساب
- البيانات
- لا يزال
- خيط
- بناء
- الهياكل
- هذه
- مناسب
- SVG
- بناء الجملة
- نظام
- أخذ
- المهام
- تقنية
- تقنيات
- التكنولوجيا
- مؤقت
- من
- أن
- •
- المعلومات
- من مشاركة
- then
- تشبه
- هم
- ثلاثة
- نصائح
- إلى
- تحول
- شجرة
- صحيح
- محاولة
- البرنامج التعليمي
- عادة
- فهم
- غير متوقع
- حتى
- تحديث
- تحديث
- الأستعمال
- تستخدم
- مستعمل
- مفيد
- مستخدم
- استخدام
- صالح
- التحقق
- قيمنا
- القيم
- متغير
- مختلف
- vs
- تريد
- طريق..
- طرق
- we
- متى
- سواء
- التي
- في حين
- واسع
- مدى واسع
- سوف
- مع
- في غضون
- بدون
- سوف
- مكتوب
- لصحتك!
- حل متجر العقارات الشامل الخاص بك في جورجيا
- زفيرنت