Menu
Coddy logo textTech

Rückblick – Aktienübersicht

Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 11 von 64.

challenge icon

Aufgabe

Mittel

Vervollständige process_orders(stock, orders). Bearbeite die Bestellungen in der angegebenen Reihenfolge und gib für jede eine Zeile zurück:

  • unknown <item>, wenn sich der Artikel nicht in stock befindet
  • out of <item>, wenn seine Menge 0 beträgt
  • andernfalls sold <item>; dabei wird seine Menge um 1 verringert

Füge nach den Bestellungen für jeden vorrätigen Artikel in alphabetischer Reihenfolge eine Zeile hinzu: <item>: <quantity>.

Der bereitgestellte Code liest den Bestand als name=quantity-Paare und die Bestellungen als durch Kommas getrennte Zeile ein und gibt jede zurückgegebene Zeile aus.

Probier es selbst

process_orders <- function(stock, orders) {
  # Schreibe deinen Code hier
  character(0)
}

# Bereitgestellter Ein-/Ausgabecode: belasse ihn wie er ist
input <- suppressWarnings(readLines(file("stdin")))
stock <- c()
for (pair in strsplit(input[1], ",")[[1]]) {
  kv <- strsplit(pair, "=")[[1]]
  stock[kv[1]] <- as.numeric(kv[2])
}
cat(process_orders(stock, strsplit(input[2], ",")[[1]]), sep = "\n")

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-R-Compiler