Курс по Raku / Приложение 🆕 / Поток и функции / Управление на потока и логика / Exercises / Буквени оценки
Решение: Буквени оценки
Ето едно възможно решение на задачата.
Код
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";
}🦋 Намерете програмата във файла letter-grades.raku.
Изход
95 -> A
82 -> B
71 -> C
58 -> FКоментари
do givenпревръща целияgiven/whenв израз, чиято стойност е съвпадналият блок — тук буква за оценка, — и тя се съхранява в$grade.Всяко
when * >= Nе сравнение с Whatever срещу темата. Печели първото, което успее, така че за границите е нужна само по една долна граница за всяка.
Навигация в курса
← Буквени оценки | Знак и четност →