Vòng lặp while
Thuộc phần Nền tảng cơ bản trong hành trình Lua của Coddy. Bài học 71 trên 90.
Vòng lặp while rất phù hợp cho việc này: nó tiếp tục chạy cùng một đoạn code cho đến khi điều kiện không còn là true.
Cú pháp cơ bản của vòng lặp while có dạng như sau:
while condition do
-- đoạn code cần lặp lại
endĐây là một ví dụ đơn giản in ra các số từ 1 đến 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endVòng lặp này hoạt động bằng cách trước tiên kiểm tra xem count <= 3 có đúng hay không. Nếu đúng, đoạn code bên trong sẽ chạy, in ra số hiện tại và tăng biến đếm. Sau đó, vòng lặp kiểm tra lại điều kiện và lặp lại quá trình này cho đến khi điều kiện trở thành sai.
Thử thách
DễTạo một hệ thống theo dõi sức khỏe dùng vòng lặp while để theo dõi quá trình hồi phục của người chơi. Bắt đầu bằng cách tạo một biến tên là playerHealth và gán cho nó giá trị 25. Sau đó, tạo một biến khác tên là maxHealth và gán cho nó giá trị 100.
Viết một vòng lặp while tiếp tục chạy chừng nào sức khỏe của người chơi còn thấp hơn sức khỏe tối đa. Bên trong vòng lặp, trước tiên hãy in ra giá trị sức khỏe hiện tại, sau đó tăng playerHealth thêm 15. Vì lệnh in ra chạy trước khi tăng giá trị, giá trị cuối cùng được in ra sẽ là 85: điều kiện vòng lặp được kiểm tra lại sau khi cộng thêm 15 (khiến playerHealth bằng 100), và vì 100 không nhỏ hơn maxHealth, vòng lặp dừng mà không in ra 100.
Đầu ra dự kiến là:2540557085
Tự làm thử
-- Khởi tạo máu của người chơi và mức máu tối đa
local playerHealth = 25
local maxHealth = 100
-- TODO: Viết code của bạn ở đây
-- Tạo vòng lặp while tiếp tục chạy khi playerHealth < maxHealth
-- Trong vòng lặp: in ra lượng máu hiện tại, rồi tăng playerHealth thêm 15Bà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 Nền tảng cơ bản
4Toán tử 2: quan hệ và logic
Toán tử bằngToán tử quan hệToán tử andToán tử orToán tử notĐánh giá ngắn mạchGiá trị truthy và falsyÔn tập: logic đơn giản10Bảng phần 1: kiểu danh sách
Bảng là gì?Tạo bảngTruy cập phần tử theo chỉ sốSửa đổi phần tử theo chỉ sốToán tử độ dài '#'table.insert()table.remove()Ôn tập: quản lý thành viên nhóm13Dự án: Cửa hàng thuốc đơn giản
Thiết lập dự ánThêm một loại thuốc2Biến và kiểu dữ liệu
Biến là gì?Các sốChuỗiGiá trị BooleanGiá trị 'nil'Hàm type()Quy ước đặt tênÔn tập: hồ sơ nhân vật5Đầu ra cơ bản
In các giá trị cố địnhIn biếnIn nhiều giá trịKết hợp chuỗi và biếnHàm tostring()Đầu vàoÉp kiểuÔn tập: Báo cáo trạng tháiÔn tập: Đến 1208Cơ bản về thao tác với chuỗi
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Ôn tập: định dạng tên người dùng3Toán tử 1: số học và nối chuỗi
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaNối chuỗiThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giản6Dự án: Hiển thị chỉ số nhân vật
Lời chào mừngKhai báo chỉ số nhân vật9Cơ bản về hàm
Khai báo hàmGọi hàmHàm có tham sốHàm có nhiều tham sốCâu lệnh returnÔn tập: Máy tính diện tích12Cơ bản về vòng lặp
Vòng lặp whileVòng lặp repeat-untilVòng lặp for đếm sốVòng lặp for với bước nhảyCâu lệnh breakÔn tập: đếm ngượcTự luyện tập: Trình biên dịch Lua online