Trả về sớm
Đôi khi, bạn không cần chạy toàn bộ thân hàm để có được đáp án. Khi đó, bạn có thể trả về sớm khỏi hàm bằng return().
Để kiểm tra x có chia hết cho n hay không, bạn có thể dùng is_divisible_by(x, n) từ assertive.
Hoặc dùng toán tử modulo, %%. x %% n trả về phần dư khi chia x cho n, nên x %% n == 0 sẽ xác định liệu x có chia hết cho n hay không. Thử 1:10 %% 3 == 0 trong console.
Để giải bài này, bạn cần biết rằng năm nhuận là mỗi năm thứ 400 (như năm 2000) hoặc mỗi năm thứ 4 không phải năm tròn thế kỷ (như 1904 nhưng không phải 1900 hay 1905).
assertive đã được nạp.
Bài tập này là một phần của khóa học
Nhập môn viết hàm trong R
Hướng dẫn bài tập
- Hoàn thiện định nghĩa
is_leap_year(), kiểm tra các trường hợpyearchia hết cho 400, rồi 100, rồi 4, và trả về sớm từ hàm ở mỗi trường hợp.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
is_leap_year <- function(year) {
# If year is div. by 400 return TRUE
if(___) {
return(___)
}
# If year is div. by 100 return FALSE
if(___) {
___
}
# If year is div. by 4 return TRUE
___
# Otherwise return FALSE
___
}