Thêm biến tấu
Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 61 trên 86.
Thử thách
DễỞ bài học trước, bạn đã tạo một vòng lặp (loop) chạy FizzBuzz từ 1 đến một giới hạn cho trước, sử dụng các ước số cố định 3 và 5. Bây giờ, hãy thêm điểm mới bằng cách cho phép tùy chỉnh các ước số!
Sửa đổi hàm (function) fizzBuzz để nhận thêm hai tham số (parameter) cho các ước số tùy chỉnh:
- Cập nhật chữ ký hàm thành:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - Dùng
fizzAtthay cho 3 để kiểm tra "Fizz" - Dùng
buzzAtthay cho 5 để kiểm tra "Buzz" - Các giá trị mặc định giúp FizzBuzz cổ điển vẫn hoạt động khi bạn không chỉ định ước số
Bạn sẽ nhận các đầu vào sau:
- Giới hạn trên (số nguyên)
- Ước số thứ nhất cho "Fizz" (số nguyên)
- Ước số thứ hai cho "Buzz" (số nguyên)
Cập nhật vòng lặp để truyền các ước số tùy chỉnh này vào hàm cho mỗi số.
Ví dụ, nếu đầu vào là 10, 2 và 3, đầu ra sẽ là:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzTrong ví dụ này, "Fizz" được in ra cho các bội số của 2, "Buzz" cho các bội số của 3 và "FizzBuzz" cho các bội số của cả hai (chẳng hạn như 6).
Nếu đầu vào là 15, 3 và 5 (các ước số cổ điển), đầu ra sẽ giống với FizzBuzz ban đầu:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzTự làm thử
func fizzBuzz(_ number: Int) -> String {
if number % 3 == 0 && number % 5 == 0 {
return "FizzBuzz"
} else if number % 3 == 0 {
return "Fizz"
} else if number % 5 == 0 {
return "Buzz"
} else {
return String(number)
}
}
// Read input
let limit = Int(readLine()!)!
// Loop from 1 to limit and print the result for each number
for number in 1...limit {
print(fizzBuzz(number))
}Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift