Curso de Raku / Apéndice 🆕 / Flujo y funciones / Control de flujo y lógica / Exercises / Calificaciones por letras
Solución: Calificaciones por letras
Aquí tienes una posible solución para la tarea.
Código
for 95, 82, 71, 58 -> $score {
my $grade = do given $score {
when * >= 90 { 'A' }
when * >= 80 { 'B' }
when * >= 70 { 'C' }
when * >= 60 { 'D' }
default { 'F' }
}
say "$score -> $grade";
}🦋 Puedes encontrar el código fuente en el archivo letter-grades.raku.
Salida
95 -> A
82 -> B
71 -> C
58 -> FComentarios
do givenconvierte elgiven/whenentero en una expresión cuyo valor es el del bloque que coincide — aquí una letra de nota —, que se guarda en$grade.Cada
when * >= Nes una comparación Whatever contra el tema. Gana la primera que se cumple, así que cada límite solo necesita una cota inferior.