تتبع التعبيرات المركبة خطوة بخطوة
تصبح التعبيرات المعقدة أسهل عندما تقسّمها إلى أجزاء أصغر. شغّل هذا الكود:
a = 2
b = 3
c = 4
d = 5
print(a * b + c * d)
احسب a * b وc * d كلًّا على حدة أولًا، ثم اجمع النتيجتين. بهذه الطريقة تستطيع تتبع ترتيب تقييم التعبير بدل محاولة فهمه كله دفعة واحدة.
يتبع بايثون أولوية العمليات، ولذلك يُقيَّم التعبير a * b + c * d كما لو كان مكتوبًا (a * b) + (c * d). عندما يبدو التعبير مربكًا، أضف الأقواس على الورق واحسب أصغر الأجزاء أولًا.
جرّب تغيير التعبير إلى (a * (b + c)) * d، وتوقع النتيجة قبل تشغيله.
لاحظ أثناء تتبع البرنامج أربع نقاط:
- يوجد تحكم للتنقل بين دورات الحلقة؛ استخدمه لترى ما حدث في كل دورة زمنية مختلفة.
- الكود الذي لا يُنفذ في دورة معينة بسبب شرط
ifيظهر على أنه غير منفذ، ولذلك لا تكون للتعبيرات داخله قيم في تلك الدورة. - القيم المسجلة للتعبيرين
vowelsوconsonantsتختلف حسب اللحظة التي تنظر إليها. بعد انتهاء الحلقة يحتويان كل الأحرف التي جُمعت، أما داخل الحلقة فيحتويان ما وصل إليه البرنامج حتى تلك الدورة فقط. - عند السطر
vowels.append(letter)ترى قيم المتغيرات في اللحظة السابقة لتنفيذ الإضافة؛ أي إنletterعلى وشك أن يُضاف إلىvowelsلكنه لم يُضف بعد.