في هذا البرنامج البسيط، تقوم بتطبيق عدة تعليمات شرطية باستخدام بيانات if و else لتحديد عدد القطع من “الناجتس” التي يجب طلبها بناءً على الإدخال الذي يقدمه المستخدم. ومع ذلك، تواجه بعض التحديات في التعامل مع المتغيرات والتحكم في سير التنفيذ.
أولاً وقبل كل شيء، يجب عليك التأكد من تعريف المتغير n20
في البداية، لأنه يظهر في الجزء الأخير من البرنامج وقد يتم الوصول إليه قبل تعريفه. يمكنك تحقيق ذلك عن طريق تعيين n20
قيمة افتراضية في بداية البرنامج، على سبيل المثال:
pythonn20 = False
nuggets = input("كم عدد قطع الناجت التي تحتاجها؟ ")
nuggets = int(nuggets)
nuggets20 = nuggets % 20
if nuggets20 == 0:
n20 = True
else:
nuggets10 = nuggets20 % 10
if nuggets10 == 0:
print(nuggets10)
else:
nuggets6 = nuggets10 % 6
if nuggets6 == 0:
print(nuggets6)
else:
nuggets4 = nuggets6 % 4
if n20 == True:
print("الناجتس")
ومع ذلك، يمكنك تحسين هذا البرنامج عن طريق تنظيم الشروط والتحكم في تسلسل التنفيذ. يمكنك استخدام متغير واحد لتخزين النتيجة النهائية، وتحديد السلوك المتوقع بناءً على قيمة هذا المتغير. إليك نسخة معدلة:
pythonnuggets = input("كم عدد قطع الناجت التي تحتاجها؟ ")
nuggets = int(nuggets)
result = ""
nuggets20 = nuggets % 20
if nuggets20 == 0:
result = "الناجتس"
else:
nuggets10 = nuggets20 % 10
if nuggets10 == 0:
result = nuggets10
else:
nuggets6 = nuggets10 % 6
if nuggets6 == 0:
result = nuggets6
else:
nuggets4 = nuggets6 % 4
print(result)
هذا التنظيم يجعل البرنامج أكثر فعالية ويسهل قراءته وفهمه، ويسمح لك بتحديد النتيجة النهائية بشكل أفضل.
المزيد من المعلومات
بالطبع، دعنا نوسع على الشرح لتفهم أفضل كيف يعمل البرنامج وكيف يمكن تحسينه أكثر.
في البرنامج الأصلي، تقوم بتحديد عدد قطع الناجت التي يحتاجها المستخدم، ثم تقوم بتحويل الإدخال إلى نوع البيانات الصحيح باستخدام int(nuggets)
لتأكيد أنها قيمة صحيحة. بعد ذلك، تستخدم عدة تعليمات if و else لفحص القيم وتحديد ما إذا كانت تلبي شروط معينة.
المتغير n20
يُستخدم لتحديد ما إذا كانت قيمة nuggets20
قابلة للقسمة على 20 دون باقي. وفي حالة الصحة، يتم تعيين n20
إلى True، وبالتالي يتم طباعة “الناجتس”.
مع ذلك، يُلاحظ أن هناك طباعة للقيمة nuggets10
حتى إذا كانت تساوي صفر، وهذا قد يكون غير مرغوب فيه. لتجنب ذلك، يمكنك تعديل الشروط لتضمين الإجراءات التي يجب اتخاذها في حالة صحة الشرط. في النموذج المعدل، يتم طباعة القيمة فقط إذا كانت غير صفر:
pythonif nuggets10 == 0:
result = nuggets10
print(result)
else:
nuggets6 = nuggets10 % 6
if nuggets6 == 0:
result = nuggets6
print(result)
else:
nuggets4 = nuggets6 % 4
هذا يجعل البرنامج أكثر وضوحًا ويقلل من الطباعة الغير ضرورية.
بشكل عام، عند كتابة برنامج، يُفضل دائمًا السعي إلى تنظيم هيكل الشروط بطريقة منطقية وفهم المتغيرات والقرارات المتخذة في كل خطوة.