Récapitulatif - Classificateur de notes
Fait partie de la section Logique et Flux du Journey Ruby de Coddy — leçon 42 sur 56.
Combinez les instructions case à valeurs multiples, les opérateurs ternaires et les modificateurs en ligne pour classer les scores d'examen dans un court script.
Défi
MoyenLisez une liste de scores entiers séparés par des virgules à partir de l'entrée. Pour chaque score, affichez une ligne :
<score>: <letter> (<status>)Où letter provient d'un case sur le score :
90..100→A80..89→B70..79→C60..69→D- tout le reste →
F
Et status utilise une ternaire : passing lorsque le score est d'au moins 60, failing sinon.
Après la boucle, affichez Top scorer: <score> : mais uniquement si le score maximum est de 90 ou plus (utilisez un if en ligne).
Pour l'entrée 95,72,55,88, la sortie est :
95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95Essayez vous-même
scores = gets.chomp.split(",").map(&:to_i)
# À FAIRE : pour chaque score, afficher "<n> : <lettre> (<statut>)"
# À FAIRE : afficher "Top scorer: <max>" uniquement si max >= 90
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Aperçu des méthodes de chaînesInterpolation de chaînesParcourir les chaînesSplit et JoinRécapitulatif - String Weaver4Blocs, Procs & Lambdas
Qu'est-ce qu'un bloc ?do..end vs AccoladesLe mot-clé yieldParamètres de blocProcs et LambdasRécapitulatif - Itérateur personnalisé7Hashes - Partie 2
Hash.new avec des valeurs par défautItérer sur les HashesHashes imbriquésFusion et transformationRécapitulatif - Compteur de fréquence10Projet - Dossiers étudiants
Présentation du projetAjouter un étudiant2Intervalles
Qu'est-ce qu'un intervalle ?Méthodes d'intervalleLes intervalles dans Case / WhenRécapitulatif - Pratique des intervalles5La puissance d'Enumerable
Select et RejectChaîner MapReduce / Injectcount, all?, any?, none?group_by et partitionsort_by, min_by, max_byRécapitulatif - Data Pipeline8Prise de décision avancée
Case avec Classes & Regexwhen à valeurs multiplesOpérateur ternaireif / unless en ligneRécapitulatif - Classificateur de notes