ماذا تشتري
جزء من قسم الأساسيات في رحلة 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تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ