Repaso - Clasificador de calificaciones
Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 42 de 56.
Combina case de múltiples valores, ternarios y modificadores en línea para clasificar puntuaciones de exámenes en un script corto.
Desafío
IntermedioLee una lista de puntuaciones enteras separadas por comas desde la entrada. Para cada puntuación, imprime una línea:
<score>: <letter> (<status>)Donde letter proviene de un case sobre la puntuación:
90..100→A80..89→B70..79→C60..69→D- cualquier otra cosa →
F
Y status utiliza un ternario: passing cuando la puntuación es al menos 60, failing de lo contrario.
Después del bucle, imprime Top scorer: <score>: pero solo si la puntuación máxima es 90 o superior (utiliza un if en línea).
Para la entrada 95,72,55,88, la salida es:
95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95Pruébalo tú mismo
scores = gets.chomp.split(",").map(&:to_i)
# TODO: para cada puntuación imprimir "<n>: <letter> (<status>)"
# TODO: imprimir "Top scorer: <max>" solo si max >= 90
Todas las lecciones de Lógica y flujo
1Strings en profundidad
Visión general de los métodos de StringInterpolación de StringsIterar sobre StringsSplit y JoinRepaso - String Weaver4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end vs llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasResumen - Iterador personalizado7Hashes Parte 2
Hash.new con valores por defectoIteración de HashesHashes anidadosFusión y transformaciónResumen - Contador de frecuencia10Proyecto - Registros de Estudiantes
Descripción general del proyectoAgregar estudiante5Potencia de Enumerable
Select y RejectEncadenando MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byResumen - Data Pipeline8Toma de decisiones avanzada
Case con clases y Regexwhen con múltiples valoresOperador ternarioif / unless en líneaRepaso - Clasificador de calificaciones