Ôn tập: phân loại điểm
Thuộc phần Logic và luồng điều khiển trong hành trình R của Coddy. Bài học 51 trên 64.
Thử thách
Trung bìnhHoàn thiện grade_report(names, scores). Dùng ifelse() để xếp loại từng học sinh: A từ 90, B từ 75, C từ 50 và F dưới 50. Trả về một dòng cho mỗi học sinh, ada: 93 (A) Excellent, trong đó nhận xét được lấy từ switch() dựa trên xếp loại: Excellent cho A, Good cho B, Pass cho C và Retake cho F.
Sau đó thêm Top: , theo sau là những học sinh có điểm cao nhất, theo thứ tự đầu vào và được nối bằng , .
Code được cung cấp đọc tên và điểm từ hai dòng, mỗi dòng chứa các giá trị được phân tách bằng dấu phẩy, rồi in ra từng dòng được trả về.
Tự làm thử
grade_report <- function(names, scores) {
# Viết code của bạn ở đây
character(0)
}
# Đoạn code đầu vào/đầu ra có sẵn: giữ nguyên
input <- suppressWarnings(readLines(file("stdin")))
cat(grade_report(strsplit(input[1], ",")[[1]], as.numeric(strsplit(input[2], ",")[[1]])), sep = "\n")
Tất cả bài học trong Logic và luồng điều khiển
1Chuỗi chuyên sâu
Chuỗi con với substr()Định dạng với sprintf()Tách và nối chuỗiTìm kiếm trong chuỗiThay thế văn bảnÔn tập: Tạo tên người dùng10Luồng điều khiển nâng cao
Hàm switch()ifelse() dạng vector hóarepeat và breakHàm đệ quyÔn tập: phân loại điểmTự luyện tập: Trình biên dịch R online