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
1Cadenas en profundidad
Descripción general de los métodos de cadenasInterpolación de cadenasIteración sobre cadenasSeparar y unirRepaso: Tejedor de cadenas4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end frente a llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasRepaso: iterador personalizado7Hashes Parte 2
Hash.new con valores predeterminadosIteración de hashesHashes anidadosCombinación y transformaciónRepaso: contador de frecuencias10Proyecto - Registros de estudiantes
Descripción general del proyectoAgregar estudiante5Potencia Enumerable
Select y RejectEncadenamiento de MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byRepaso: canalización de datos8Toma de decisiones avanzada
Case con clases y Regexwhen con múltiples valoresOperador ternarioif / unless en líneaRepaso - Clasificador de calificacionesPractica por tu cuenta: Compilador de Ruby online