Was zu kaufen ist
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 88 von 88.
Aufgabe
EinfachLies eine Einkaufsliste und den Ladenbestand aus der Eingabe ein und bestimme dann, welche Artikel gekauft werden können.
Du erhältst:
- Erste Zeile: kommagetrennte Artikelnamen, die deine Einkaufsliste darstellen
- Zweite Zeile: die Anzahl der Artikel im Ladenbestand
- Folgende Zeilen: jede enthält einen Artikelnamen und eine Menge, getrennt durch ein Komma
Zum Beispiel bedeutet die Bestandseingabe apples,5, dass der Laden 5 Äpfel auf Lager hat.
Drucke für jeden Artikel in deiner Einkaufsliste den Artikelnamen gefolgt von - Yes, wenn er gekauft werden kann, oder - No, wenn nicht.
Ein Artikel kann gekauft werden, wenn:
- Er im Ladenbestand existiert UND
- Seine Menge größer als 0 ist
Wenn ein Artikel gar nicht im Bestand ist oder eine Menge von 0 hat, drucke No.
Zum Beispiel, wenn die Eingaben wie folgt sind:
apples,bread,milk
3
apples,5
bread,0
milk,3Die Ausgabe sollte sein:
apples - Yes
bread - No
milk - YesWenn die Eingaben wie folgt sind:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0Die Ausgabe sollte sein:
eggs - Yes
butter - No
cheese - No
yogurt - NoWenn die Eingaben wie folgt sind:
water
1
water,100Die Ausgabe sollte sein:
water - YesProbier es selbst
# Einkaufsliste einlesen (kommagetrennte Elemente)
shopping_list = gets.chomp.split(',')
# Anzahl der Inventarartikel einlesen
n = gets.to_i
# Ladeninventar einlesen
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: Schreiben Sie Ihren Code unten
# Prüfen Sie für jeden Artikel auf der Einkaufsliste, ob er gekauft werden kann
# Ein Artikel kann gekauft werden, wenn er im Inventar existiert UND die Menge > 0 ist
# Geben Sie "item_name - Yes" oder "item_name - No" für jeden Artikel ausAlle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch