قل

قل

سهل

مقدمة

صديقك Yaʻqūb يعمل عند منصة البيع في أكثر متاجر الأطعمة الجاهزة ازدحامًا في المدينة، يقطّع الطلبات ويزنها ويغلّفها لصفٍّ لا ينتهي من الزبائن الجائعين. ولكي تستمر الحركة، يأخذ كل زبون تذكرة مرقّمة عند وصوله.

وعندما يحين وقت نداء الشخص التالي، يقرأ Yaʻqūb رقمه بصوت عالٍ، وينطقه دائمًا بكلمات إنجليزية كاملة ليتأكد من أن الجميع يسمعه بوضوح.

التعليمات

بالنظر إلى عدد، مهمتك هي التعبير عنه بكلمات إنجليزية تمامًا كما ينبغي أن يقولها صديقك بصوت عالٍ. يتوقع Yaʻqūb استخدام أعداد من 0 حتى 999,999,999,999.

أمثلة:

  • 0 → zero
  • 1 → one
  • 12 → twelve
  • 123 → one hundred twenty-three
  • 1,234 → one thousand two hundred thirty-four

رسائل الاستثناءات

تحتاج أحيانًا إلى رفع استثناء. وعندما تفعل ذلك، ينبغي أن تُضمّن دائمًا رسالة خطأ ذات معنى تشير إلى مصدر الخطأ. فهذا يجعل الكود أكثر قابلية للقراءة ويساعد كثيرًا في تصحيح الأخطاء. وفي الحالات التي تعرف فيها أن مصدر الخطأ من نوع معيّن، يمكنك اختيار رفع أحد أنواع الأخطاء المدمجة، لكن ينبغي أن تُضمّن رسالة ذات معنى رغم ذلك.

يتطلب هذا التمرين تحديدًا أن تستخدم عبارة raise لكي «ترمي» استثناء ValueError إذا كان العدد المُدخل إلى say() خارج النطاق. ولن تنجح الاختبارات إلا إذا قمت بـ raise للـ exception وأضمّنت معه رسالة.

لكي ترفع ValueError مع رسالة، اكتب الرسالة كوسيط لنوع exception:

# if the number is negative
raise ValueError("input out of range")

# if the number is larger than 999,999,999,999
raise ValueError("input out of range")
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Python Exercism

مستعد لبدء قل؟

سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.