Registrar calificaciones
Parte de la sección Lógica y flujo del Journey de R de Coddy. Lección 23 de 64.
Desafío
FácilAñade el comando GRADE a gradebook(). Mantén todos los comandos de los pasos anteriores funcionando exactamente como antes.
GRADE <name> <score>: si el estudiante no está almacenado, respondeno student <name>. De lo contrario, añade la puntuación a las calificaciones del estudiante y responderecorded <score> for <name>.
Las puntuaciones son números como 90 o 87.5; escríbelas en la respuesta de la forma en que R imprime el número.
El código proporcionado pasa cada línea de entrada a gradebook() como un comando y muestra cada respuesta devuelta en su propia línea. Un nombre es una palabra en minúsculas, y la entrada solo contiene los comandos descritos hasta ahora.
Pruébalo tú mismo
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
}
# Código de entrada/salida suministrado: déjalo tal como está
input <- suppressWarnings(readLines(file("stdin")))
cat(gradebook(input), sep = "\n")
Todas las lecciones de Lógica y flujo
1Cadenas a fondo
Subcadenas con substr()Formateo con sprintf()Dividir y unirBuscar cadenasReemplazar textoRepaso - Constructor de nombres de usuario4Matrices
Creación de matricesIndexación de matricesResúmenes de filas y columnasAritmética de matricesRepaso: tabla de asientos2Búsquedas clave-valor
Búsquedas en vectores con nombreComprobar clavesAñadir y eliminar clavesRecorrer nombresRepaso: panel bursátil5Proyecto - Libro de calificaciones
Añadir estudiantesRegistrar calificaciones3Conjuntos y conteo
Valores únicosOperaciones con conjuntosPruebas de pertenenciaConteo con table()Repaso: invitados al evento6Funciones como valores
Funciones anónimasPasar funcionesDevolver funcionesClausuras con estadoRepaso: reglas de descuento9Marcos de datos
Creación de marcos de datosColumnas y filasFiltrado de filasAdición y ordenaciónRepaso - Informe de ventas12Proyecto: Rastreador de gastos
Registro de gastosGasto totalPractica por tu cuenta: Compilador de R online