Menu
Coddy logo textTech

Enregistrer les notes

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

challenge icon

Défi

Facile

Ajoutez la commande GRADE à gradebook(). Veillez à ce que chaque commande des étapes précédentes continue de fonctionner exactement comme auparavant.

  • GRADE <name> <score> : si l’étudiant n’est pas enregistré, répondez no student <name>. Sinon, ajoutez la note aux notes de l’étudiant et répondez recorded <score> for <name>.

Les notes sont des nombres tels que 90 ou 87.5 ; écrivez-les dans la réponse de la manière dont R affiche le nombre.

Le code fourni transmet chaque ligne d’entrée à gradebook() comme une seule commande et affiche chaque réponse renvoyée sur sa propre ligne. Un nom est un mot unique en minuscules, et l’entrée contient uniquement les commandes décrites jusqu’à présent.

Essayez vous-même

gradebook <- function(commands) {
  grades <- list()
  replies <- c()
  for (cmd in commands) {
    parts <- strsplit(cmd, " ")[[1]]
    name <- parts[2]
    if (parts[1] == "ADD") {
      if (name %in% names(grades)) {
        replies <- c(replies, paste(name, "already exists"))
      } else {
        grades[[name]] <- numeric(0)
        replies <- c(replies, paste("added", name))
      }
    }
  }
  replies
}

# Code d'entrée/sortie fourni : le garder tel quel
input <- suppressWarnings(readLines(file("stdin")))
cat(gradebook(input), sep = "\n")

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

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