Dải giá trị trong vòng lặp
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 48 trên 86.
Bạn đã dùng các khoảng như 1...5 trong vòng lặp, nhưng Swift cho phép bạn linh hoạt hơn khi xác định các khoảng này. Hãy cùng tìm hiểu các kiểu khoảng khác nhau và một kỹ thuật hữu ích để đếm ngược.
toán tử khoảng đóng (...) bao gồm cả hai điểm đầu mút:
for i in 1...3 {
print(i)
}
// Đầu ra: 1, 2, 3toán tử khoảng nửa mở (half-open range operator) (..<) không bao gồm cận trên, đặc biệt hữu ích khi làm việc với các chỉ số bắt đầu từ 0:
for i in 0..<3 {
print(i)
}
// Đầu ra: 0, 1, 2Đôi khi bạn cần lặp theo thứ tự ngược. Phương thức reversed() cho phép bạn duyệt ngược qua một phạm vi:
for i in (1...3).reversed() {
print(i)
}
// Đầu ra: 3, 2, 1Hãy chú ý đến dấu ngoặc đơn quanh phạm vi: chúng cần thiết khi gọi reversed() trên một phạm vi. Kỹ thuật này rất phù hợp để đếm ngược hoặc khi bạn cần xử lý các mục từ cuối lên đầu.
Thử thách
DễViết một hàm (function) countdown nhận n và trả về một chuỗi chứa dãy đếm ngược từ n xuống 1, theo sau là "Go!".
Dùng phương thức reversed() trên một phạm vi để lặp theo thứ tự ngược và tạo chuỗi đếm ngược.
Logic:
- Tạo một phạm vi từ
1đếnnrồi đảo ngược phạm vi đó - Tạo một chuỗi gồm các số, mỗi số cách nhau bằng ký tự xuống dòng
- Thêm "Go!" vào dòng cuối cùng
Tham số:
n(Int): Số bắt đầu của dãy đếm ngược (1 trở lên)
Giá trị trả về: Một chuỗi có mỗi số đếm ngược trên một dòng riêng, kết thúc bằng "Go!" (String). Định dạng:
3
2
1
Go!Ví dụ, nếu n là 3, hàm trả về "3\n2\n1\nGo!".
Tự làm thử
func countdown(n: Int) -> String {
// Viết code ở đây
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
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