ماذا تشتري
جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 88 من 88.
التحدي
سهلاقرأ قائمة تسوق ومخزون المتجر من المدخلات، ثم حدد العناصر التي يمكن شراؤها.
ستتلقى ما يلي:
- السطر الأول: أسماء العناصر مفصولة بفاصلة تمثل قائمة التسوق الخاصة بك
- السطر الثاني: عدد العناصر في مخزون المتجر
- الأسطر التالية: يحتوي كل منها على اسم العنصر والكمية مفصولين بفاصلة
على سبيل المثال، مدخلات المخزون apples,5 تعني أن المتجر لديه 5 تفاحات في المخزون.
لكل عنصر في قائمة التسوق الخاصة بك، اطبع اسم العنصر متبوعاً بـ - Yes إذا كان من الممكن شراؤه، أو - No إذا لم يكن كذلك.
يمكن شراء العنصر إذا:
- كان موجوداً في مخزون المتجر وَ
- كانت كميته أكبر من 0
إذا لم يكن العنصر موجوداً في المخزون على الإطلاق، أو كانت كميته 0، فاطبع No.
على سبيل المثال، إذا كانت المدخلات هي:
apples,bread,milk
3
apples,5
bread,0
milk,3يجب أن تكون المخرجات:
apples - Yes
bread - No
milk - Yesإذا كانت المدخلات هي:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0يجب أن تكون المخرجات:
eggs - Yes
butter - No
cheese - No
yogurt - Noإذا كانت المدخلات هي:
water
1
water,100يجب أن تكون المخرجات:
water - Yesجرّب بنفسك
# قراءة قائمة التسوق (عناصر مفصولة بفاصلة)
shopping_list = gets.chomp.split(',')
# قراءة عدد عناصر المخزون
n = gets.to_i
# قراءة مخزون المتجر
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: اكتب الكود الخاص بك أدناه
# لكل عنصر في قائمة التسوق، تحقق مما إذا كان يمكن شراؤه
# يمكن شراء العنصر إذا كان موجوداً في المخزون والكمية أكبر من 0
# اطبع "item_name - Yes" أو "item_name - No" لكل عنصرجميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت