Что купить
Часть раздела Основы путешествия по 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Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь