Menu
Coddy logo textTech

Notları Kaydetme

Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 23 / 64.

challenge icon

Görev

Kolay

GRADE komutunu gradebook() işlevine ekleyin. Önceki adımlardaki her komutun tam olarak eskisi gibi çalışmasını sağlayın.

  • GRADE <name> <score>: öğrenci kayıtlı değilse no student <name> yanıtını verin. Aksi takdirde puanı öğrencinin notlarına ekleyin ve recorded <score> for <name> yanıtını verin.

Puanlar 90 veya 87.5 gibi sayılardır; yanıtta bunları R'nin sayıyı yazdırdığı biçimde yazın.

Sağlanan kod, her giriş satırını tek bir komut olarak gradebook() işlevine aktarır ve döndürülen her yanıtı kendi satırında yazdırır. Bir ad, küçük harflerden oluşan tek bir kelimedir ve giriş yalnızca şimdiye kadar açıklanan komutları içerir.

Kendin dene

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
}

# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(gradebook(input), sep = "\n")

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online R derleyicisi