Ôn tập: Quy tắc giảm giá
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 31 trên 64.
Thử thách
Trung bìnhMột cửa hàng áp dụng lần lượt từng quy tắc định giá cho một mức giá. Hoàn thành danh sách rules bằng các hàm ẩn danh nhận một mức giá:
half: chia mức giá cho 2minus5: trừ 5, nhưng không để mức giá thấp hơn 0tax: cộng thêm 10%round: làm tròn đến số nguyên bằnground()
Sau đó hoàn thành apply_rules(price, names): áp dụng lần lượt các quy tắc có tên trong names và trả về một dòng cho mỗi quy tắc, after half: 20.00, theo sau là final: và mức giá cuối cùng. Hiển thị mọi mức giá với hai chữ số thập phân.
Code được cung cấp đọc mức giá và danh sách tên quy tắc đượ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ử
rules <- list(
# Viết code của bạn ở đây
)
apply_rules <- function(price, names) {
# Viết code của bạn ở đây
character(0)
}
# Đoạn code đầu vào/đầu ra đã được cung cấp: giữ nguyên
input <- suppressWarnings(readLines(file("stdin")))
cat(apply_rules(as.numeric(input[1]), 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