كيف يعمل البرنامج؟ (آلية التشغيل):
الترحيب (intro): يبدأ بترحيب للمستخدم مع مهلة زمنية بسيطة (time.sleep).
السؤال عن الشعور (ask_feeling): يخير المستخدم بين 3 حالات:
1. متعب (Tired): يسأله عن السبب (قلة نوم، صداع، جفاف/قلة ماء، توتر) ويعرض له نصيحة عشوائية مناسبة باستخدام random.choice من القواميس (Dictionaries).
2. طبيعي (Normal): يعرض له رسائل تشجيعية سريعة (مثل: "You're doing great!" أو "Stay hydrated").
3. يرغب في التحسين (Want to improve): يخيره بين ثلاثة مجالات (اللياقة البدنية Fitness، العادات الغذائية Eating habits، النوم Sleep) ويقدم نصائح تحسينية لكل مجال.
التكرار والاستمرار (main & continue_app): يستخدم الدالة الرئيسية حلقة تكرار while True ليبقى البرنامج يعرض الخيارات للمستخدم ويأخذ إجاباته حتى يختار الخروج من التطبيق (Exit).
2. المفاهيم البرمجية المستخدمة في بايثون:
الدوال (Functions): لتنظيم الكود وتقسيمه لأجزاء قابلة لإعادة الاستخدام (مثل intro(), main()).
الشروط (Conditional Statements): للتحكم في مسار البرنامج بناءً على إجابة المستخدم.
حلقات التكرار (Loops): لإبقاء البرنامج يعمل بشكل مستمر.
القوائم والقواميس (Lists & Dictionaries): لتخزين النصوص والنصائح المتعددة لكل حالة.
3. نقاط القوة والضعف والمقترحات المذكورة في التقرير:
نقاط القوة: بسيط، منظم بالدوال، تفاعلي، ويستخدم العشوائية لمنع التكرار.
نقاط الضعف: لا يتضمن واجهة رسمية (GUI) بل يعمل عبر الشاشة السوداء (Terminal)، إجاباته محددة، ولا يحفظ بيانات المستخدم.
التطويرات المقترحة: إضافة واجهة مستخدم بيانية، حفظ سجل التقدّم، تحسين التأكد من صحة المدخلات (Input Validation)، وإضافة إشعارات.