Cosa comprare
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 88 di 88.
Sfida
FacileLeggi una lista della spesa e l'inventario del negozio dall'input, quindi determina quali articoli possono essere acquistati.
Riceverai:
- Prima riga: nomi degli articoli separati da virgole, che rappresentano la tua lista della spesa
- Seconda riga: il numero di articoli nell'inventario del negozio
- Righe successive: ciascuna contiene il nome di un articolo e la quantità, separati da una virgola
Ad esempio, l'input dell'inventario apples,5 significa che il negozio ha 5 mele in magazzino.
Per ogni articolo della tua lista della spesa, stampa il nome dell'articolo seguito da - Yes se può essere acquistato, oppure da - No se non può.
Un articolo può essere acquistato se:
- È presente nell'inventario del negozio E
- La sua quantità è maggiore di 0
Se un articolo non è affatto presente nell'inventario o ha una quantità pari a 0, stampa No.
Ad esempio, se gli input sono:
apples,bread,milk
3
apples,5
bread,0
milk,3L'output dovrebbe essere:
apples - Yes
bread - No
milk - YesSe gli input sono:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0L'output dovrebbe essere:
eggs - Yes
butter - No
cheese - No
yogurt - NoSe gli input sono:
water
1
water,100L'output dovrebbe essere:
water - YesProvalo tu
# Leggi la lista della spesa (articoli separati da virgole)
shopping_list = gets.chomp.split(',')
# Leggi il numero di articoli nell'inventario
n = gets.to_i
# Leggi l'inventario del negozio
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: Scrivi il tuo codice qui sotto
# Per ogni articolo nella lista della spesa, verifica se può essere acquistato
# Un articolo può essere acquistato se è presente in inventory AND ha quantity > 0
# Stampa "item_name - Yes" o "item_name - No" per ogni articoloTutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dall'utente10FizzBuzz con un colpo di scena
Panoramica del giocoIl metodo FizzBuzz2Variabili e tipi di dato
Numeri e variabiliTipo di dato stringaTipo di dato booleanoTipo di dato SymbolVerifica dei tipi di datoConvenzioni di denominazioneRiepilogo - Creazione di variabili5Strutture decisionali
Istruzione ifIf-ElseRipasso - Calcolatrice sempliceIf-Else annidatoIstruzione unless8Cicli
Ciclo for con intervalliCiclo whilebreaknextRiepilogo - FattorialeCiclo timesCiclo untilCicli annidatiRiepilogo - Input dinamico3Operatori, parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso: matematica sempliceOperatori di confronto6Input/Output di base
Output con putsOutput con print e pOutput con variabiliInput con getsMetodo chompConversione di tipoRipasso - Calcolatore dell'etàRipasso - Vero o falsoEsercitati da solo: Compilatore Ruby online