العودة إلى الدورة

إنشاء حلقات `while` تفاعلية وقيم الحراسة (Sentinel Values)

برمجة Python: معسكر التدريب من الصفر إلى الاحتراف

حلقات while التفاعلية

حلقات while ممتازة للسيناريوهات التي لا تعرف فيها عدد المرات التي ستحتاج فيها الحلقة للعمل (مثل انتظار مدخلات المستخدم أو فحص حالة الشبكة).

قيمة الحراسة (Sentinel Value)

قيمة الحراسة هي مدخل أو شرط محدد يشير إلى إنهاء الحلقة.

مثال: قائمة آلة حاسبة بسيطة

python running = True

while running: user_input = input("Enter a number to square or 'quit' to exit: ").lower()

if user_input == 'quit':
    running = False # تم استيفاء شرط الحراسة
    print("Exiting calculator.")
    
elif user_input.isdigit():
    num = int(user_input)
    print(f"The square of {num} is {num ** 2}")
    
else:
    print("Invalid input. Try again.")

الحلقات اللانهائية (Infinite Loops)

الحلقة التي لا يصبح فيها الشرط False أبداً هي حلقة لا نهائية. وعادة ما يؤدي ذلك إلى تجميد برنامجك.

python

خطر: مثال على حلقة لا نهائية

while True:

print("Help! I'm trapped!")

تأكد دائماً من وجود شيء داخل حلقة while يتغير ويؤثر على شرط التحكم.