Rückblick – Rabattregeln
Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 31 von 64.
Aufgabe
MittelEin Geschäft wendet Preisregeln nacheinander auf einen Preis an. Vervollständige die Liste rules mit diesen anonymen Funktionen für jeweils einen Preis:
half: den Preis durch 2 teilenminus5: 5 abziehen, aber niemals unter 0 gehentax: 10 % hinzufügenround: mitround()auf eine ganze Zahl runden
Vervollständige anschließend apply_rules(price, names): Wende die in names genannten Regeln in der angegebenen Reihenfolge an und gib eine Zeile pro Regel zurück, after half: 20.00, gefolgt von final: und dem Endpreis. Gib jeden Preis mit zwei Dezimalstellen aus.
Der bereitgestellte Code liest den Preis und eine durch Kommas getrennte Liste von Regelnamen ein und gibt jede zurückgegebene Zeile aus.
Probier es selbst
rules <- list(
# Schreibe deinen Code hier
)
apply_rules <- function(price, names) {
# Schreibe deinen Code hier
character(0)
}
# Bereitgestellter Ein-/Ausgabe-Code: belasse ihn wie er ist
input <- suppressWarnings(readLines(file("stdin")))
cat(apply_rules(as.numeric(input[1]), 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