Menu
Coddy logo textTech

Récapitulatif - Bureau des stocks

Fait partie de la section Logique et flux d’exécution du Journey R de Coddy. Leçon 11 sur 64.

challenge icon

Défi

Moyen

Complète process_orders(stock, orders). Traite les commandes dans l’ordre et renvoie une ligne pour chacune :

  • unknown <item> lorsque l’article ne se trouve pas dans stock
  • out of <item> lorsque sa quantité est égale à 0
  • sold <item> dans les autres cas, et sa quantité diminue de 1

Après les commandes, ajoute une ligne par article en stock dans l’ordre alphabétique : <item>: <quantity>.

Le code fourni lit le stock sous forme de paires name=quantity et les commandes sous forme d’une ligne séparée par des virgules, puis affiche chaque ligne renvoyée.

Essayez vous-même

process_orders <- function(stock, orders) {
  # Écrivez votre code ici
  character(0)
}

# Code d'entrée/sortie fourni : gardez-le tel quel
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")

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur R en ligne