Hàm FizzBuzz
Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 53 trên 78.
Thử thách
DễTrong bài học trước, bạn đã tạo hàm check_divisible. Bây giờ, hãy xây dựng hàm cốt lõi fizzbuzz để xác định đầu ra cho một số.
Tạo hàm có tên fizzbuzz nhận một đối số: n. Hàm cần trả về:
"FizzBuzz"nếunchia hết cho cả 3 và 5"Fizz"nếunchỉ chia hết cho 3"Buzz"nếunchỉ chia hết cho 5- Bản thân số đó (dưới dạng chuỗi ký tự) nếu không thuộc trường hợp nào ở trên
Dùng as.character() để chuyển số thành chuỗi khi trả về chính số đó.
Đọc một số từ đầu vào, chuyển số đó thành giá trị số và gọi hàm fizzbuzz. In ra kết quả được trả về.
Ví dụ, nếu đầu vào là:
15Đầu ra cần là:
[1] "FizzBuzz"Nếu đầu vào là:
9Đầu ra cần là:
[1] "Fizz"Nếu đầu vào là:
10Đầu ra cần là:
[1] "Buzz"Nếu đầu vào là:
7Đầu ra cần là:
[1] "7"Tự làm thử
# Read input
con <- file("stdin", "r")
number <- as.numeric(suppressWarnings(readLines(con, n = 1)))
divisor <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Create a function called check_divisible that takes two arguments:
# number and divisor. Return TRUE if number is divisible by divisor, FALSE otherwise.
check_divisible <- function(number, divisor) {
return(number %% divisor == 0)
}
# Call your function and print the result
print(check_divisible(number, divisor))Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 2
Toán tử logic (AND, OR)Toán tử logic phần 2 (NOT)Ôn tập: logic đơn giảnLogic vector hóa phần 1Logic vector hóa phần 22Biến và kiểu dữ liệu
Kiểu dữ liệu sốKiểu dữ liệu số nguyênKiểu dữ liệu ký tựKiểu dữ liệu logicKiểm tra kiểu dữ liệuQuy tắc đặt tênGiá trị thiếu: NATóm tắt: tạo biến8Vòng lặp
Vòng lặp forVòng lặp whileBreakNext (continue)Ôn tập: giai thừaTạo dãy (seq, :)Vòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyên và phép moduloToán tử gánÔn tập: phép tính đơn giảnToán tử so sánh6Nhập xuất cơ bản
In đầu raDùng cat để in đầu raĐầu ra với biếnĐọc đầu vào bằng readline()Cơ bản về chuyển đổi kiểuÔn tập: máy tính tuổiÔn tập: đúng hay sai9Hàm
Khai báo hàmĐối số hàmGiá trị trả vềÔn tập: hàm SigmaÔn tập: hàm xác thựcGiá trị tham số mặc địnhTự luyện tập: Trình biên dịch R online