Rückblick – Aktienübersicht
Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 11 von 64.
Aufgabe
MittelVervollstä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 instockbefindetout 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
1Strings im Detail
Teilstrings mit substr()Formatierung mit sprintf()Aufteilen und VerbindenStrings durchsuchenText ersetzenWiederholung – Benutzernamen-Generator4Matrizen
Matrizen erstellenMatrizen indizierenZusammenfassungen von Zeilen und SpaltenMatrizenarithmetikRückblick – Sitzplan10Fortgeschrittener Kontrollfluss
Die switch()-FunktionVektorisierter ifelse()repeat und breakRekursive FunktionenRückblick – Notenklassifizierung2Schlüssel-Wert-Suchen
Benannte Vektor-SuchenSchlüssel prüfenSchlüssel hinzufügen und entfernenNamen durchlaufenRückblick – Aktienübersicht5Projekt – Notenbuch
Schüler hinzufügenNoten eintragen3Mengen und Zählen
Eindeutige WerteMengenoperationenZugehörigkeitstestsZählen mit table()Rückblick – Gäste einer Veranstaltung6Funktionen als Werte
Anonyme FunktionenFunktionen übergebenFunktionen zurückgebenClosures mit ZustandRückblick – Rabattregeln9Datenrahmen
Datenrahmen erstellenSpalten und ZeilenZeilen filternHinzufügen und SortierenZusammenfassung – Verkaufsbericht12Projekt – Ausgaben-Tracker
Ausgaben erfassenGesamtausgabenÜbe selbstständig: Online-R-Compiler