Vòng lặp repeat-while
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 44 trên 86.
Vòng lặp repeat-while tương tự vòng lặp while, nhưng có một điểm khác biệt quan trọng: vòng lặp kiểm tra điều kiện sau khi thực thi khối lệnh, chứ không phải trước đó. Điều này đảm bảo phần thân vòng lặp chạy ít nhất một lần.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Đầu ra: 1, 2, 3Hãy chú ý đến cấu trúc: từ khóa repeat đứng đầu, tiếp theo là khối code, còn điều kiện xuất hiện ở cuối, sau while.
Sự khác biệt trở nên rõ ràng khi điều kiện sai ngay từ đầu:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Đầu ra: This runs once!Mặc dù number < 5 là sai, thông báo vẫn được in ra một lần. Với vòng lặp while thông thường, sẽ không có gì được in ra.
Dùng repeat-while khi bạn cần chạy code ít nhất một lần trước khi kiểm tra xem có tiếp tục hay không, chẳng hạn như yêu cầu người dùng nhập dữ liệu cho đến khi họ cung cấp dữ liệu hợp lệ.
Thử thách
DễĐọc một số nguyên n từ đầu vào. Dùng vòng lặp repeat-while để in ra tất cả các số từ 1 đến n, mỗi số trên một dòng mới.
Bạn sẽ nhận đầu vào sau:
- Một dòng duy nhất chứa một số nguyên dưới dạng chuỗi (ví dụ:
"5")
Đọc đầu vào, chuyển nó thành Int, rồi dùng vòng lặp repeat-while để in ra từng số, bắt đầu từ 1.
Yêu cầu:
- Bắt đầu bộ đếm ở
1 - In ra giá trị của bộ đếm
- Tăng bộ đếm
- Tiếp tục khi bộ đếm nhỏ hơn hoặc bằng
n
Ví dụ, nếu đầu vào là 4, đầu ra sẽ là:
1
2
3
4Tự làm thử
// Đọc đầu vào và chuyển sang Int
let n = Int(readLine()!)!
// TODO: Viết code bên dưới
// Khởi tạo biến đếm bằng 1 và dùng vòng lặp repeat-while để in các số từ 1 đến nBà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