Qué comprar
Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 88 de 88.
Desafío
FácilLee una lista de compras y el inventario de la tienda desde la entrada, luego determina qué artículos se pueden comprar.
Recibirás:
- Primera línea: nombres de artículos separados por comas que representan tu lista de compras
- Segunda línea: el número de artículos en el inventario de la tienda
- Líneas siguientes: cada una contiene un nombre de artículo y una cantidad separados por una coma
Por ejemplo, la entrada de inventario apples,5 significa que la tienda tiene 5 manzanas en stock.
Para cada artículo en tu lista de compras, imprime el nombre del artículo seguido de - Yes si se puede comprar, o - No si no se puede.
Un artículo se puede comprar si:
- Existe en el inventario de la tienda Y
- Su cantidad es mayor que 0
Si un artículo no está en el inventario en absoluto, o tiene una cantidad de 0, imprime No.
Por ejemplo, si las entradas son:
apples,bread,milk
3
apples,5
bread,0
milk,3La salida debería ser:
apples - Yes
bread - No
milk - YesSi las entradas son:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0La salida debería ser:
eggs - Yes
butter - No
cheese - No
yogurt - NoSi las entradas son:
water
1
water,100La salida debería ser:
water - YesPruébalo tú mismo
# Leer la lista de compras (elementos separados por comas)
shopping_list = gets.chomp.split(',')
# Leer el número de artículos en el inventario
n = gets.to_i
# Leer el inventario de la tienda
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: Escribe tu código a continuación
# Para cada artículo en la lista de compras, verifica si se puede comprar
# Un artículo se puede comprar si existe en el inventario Y tiene una cantidad > 0
# Imprime "item_name - Yes" o "item_name - No" para cada artículoTodas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso