Tekrar - Not Sınıflandırıcı
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 42 / 56.
Sınav puanlarını tek bir kısa betikte sınıflandırmak için çoklu değerli case, ternary ve satır içi değiştiricileri birleştirin.
Görev
OrtaGirdiden virgülle ayrılmış tam sayı puanlarından oluşan bir liste okuyun. Her puan için bir satır yazdırın:
<score>: <letter> (<status>)Burada letter, puan üzerindeki bir case yapısından gelir:
90..100→A80..89→B70..79→C60..69→D- diğer her şey →
F
Ve status bir ternary (üçlü operatör) kullanır: puan en az 60 olduğunda passing, aksi takdirde failing.
Döngüden sonra, Top scorer: <score> yazdırın: ancak yalnızca maksimum puan 90 veya daha yüksekse (satır içi bir if kullanın).
95,72,55,88 girdisi için çıktı şöyledir:
95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95Kendin dene
scores = gets.chomp.split(",").map(&:to_i)
# YAPILACAK: her puan için "<n>: <harf> (<durum>)" yazdır
# YAPILACAK: sadece en yüksek puan >= 90 ise "Top scorer: <max>" yazdır
Mantık ve Akış bölümündeki tüm dersler
1Dizeler Detaylı İnceleme
Dize Metotlarına Genel BakışDize EnterpolasyonuDizeler Üzerinde YinelemeBölme ve BirleştirmeTekrar - Dize Dokuyucu4Bloklar, Proc'lar ve Lambda'lar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar SözcüğüBlok ParametreleriProc'lar ve Lambda'larÖzet - Özel Yineleyici7Hash'ler 2. Bölüm
Varsayılanlarla Hash.newHash'ler Üzerinde Yinelemeİç İçe Hash'lerBirleştirme ve DönüştürmeTekrar - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Seçme ve ReddetmeMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byTekrar - Veri Hattı8Gelişmiş Karar Verme
Sınıflar ve Regex ile CaseÇok değerli whenÜçlü OperatörSatır içi if / unlessTekrar - Not SınıflandırıcıKendi başına pratik yap: Online Ruby derleyicisi