Riepilogo - classificatore dei voti
Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 42 di 56.
Combina case con più valori, l’operatore ternario e i modificatori inline per classificare i punteggi degli esami in un breve script.
Sfida
MedioLeggi dall’input un elenco di punteggi interi separati da virgole. Per ogni punteggio, stampa una riga:
<score>: <letter> (<status>)Dove letter deriva da un case sul punteggio:
90..100→A80..89→B70..79→C60..69→D- qualsiasi altro valore →
F
E status usa un operatore ternario: passing quando il punteggio è almeno 60, failing altrimenti.
Dopo il ciclo, stampa Top scorer: <score>: ma solo se il punteggio massimo è 90 o superiore (usa un if inline).
Per l’input 95,72,55,88, l’output è:
95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95Provalo tu
scores = gets.chomp.split(",").map(&:to_i)
# TODO: per ogni punteggio stampa "<n>: <letter> (<status>)"
# TODO: stampa "Top scorer: <max>" solo se max >= 90
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Panoramica dei metodi delle stringheInterpolazione di stringheIterare sulle stringheDividere e unireRiepilogo - Tessitore di stringhe4Blocchi, Proc e Lambda
Che cos’è un Block?do..end vs parentesi graffeLa keyword yieldParametri del BlockProc e LambdaRiepilogo - Iteratore personalizzato7Hash in Ruby - Parte 2
Hash.new con valori predefinitiIterare sugli hashHash annidatiUnire e trasformareRipasso - Contatore di frequenza10Progetto - Registri degli studenti
Panoramica del progettoAggiungere uno studente2Intervalli
Che cos'è un intervallo?Metodi degli intervalliIntervalli in Case / WhenRiepilogo - Esercitarsi con gli intervalli5La potenza di Enumerable
Select e RejectConcatenare MapReduce / Injectcount, all?, any?, none?group_by e partitionsort_by, min_by, max_byRiepilogo - Pipeline di dati8Decisioni avanzate
Case con classi e Regexwhen con più valoriOperatore ternarioif / unless inlineRiepilogo - classificatore dei votiEsercitati da solo: Compilatore Ruby online