Menu
CoddyTech

Ôn tập: bộ phân loại điểm

Thuộc phần Logic và luồng xử lý trong hành trình Ruby của Coddy. Bài học 42 trên 56.

Kết hợp case nhiều giá trị, toán tử ba ngôi và các bổ từ nội tuyến để phân loại điểm thi trong một đoạn script ngắn.

challenge icon

Thử thách

Trung bình

Đọc một danh sách số nguyên điểm được phân tách bằng dấu phẩy từ đầu vào. Với mỗi điểm, in ra một dòng:

<score>: <letter> (<status>)

Trong đó, letter được xác định bằng case dựa trên điểm:

  • 90..100 → A
  • 80..89 → B
  • 70..79 → C
  • 60..69 → D
  • các trường hợp khác → F

Và status dùng toán tử ba ngôi: passing khi điểm từ 60 trở lên, nếu không thì là failing.

Sau vòng lặp, in ra Top scorer: <score>: nhưng chỉ khi điểm cao nhất là 90 trở lên (dùng if nội dòng).

Với đầu vào 95,72,55,88, đầu ra là:

95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95

Tự làm thử

scores = gets.chomp.split(",").map(&:to_i)

# TODO: in "<n>: <letter> (<status>)" cho mỗi điểm số
# TODO: chỉ in "Top scorer: <max>" nếu max >= 90

Tất cả bài học trong Logic và luồng xử lý

Tự luyện tập: Trình biên dịch Ruby online