Tính tổng giá trị hàng tồn kho
Thuộc phần Nền tảng cơ bản trong hành trình Lua của Coddy. Bài học 80 trên 90.
Thử thách
DễBây giờ, hãy dùng danh sách hàng tồn kho sau (bạn có thể thay danh sách hiện tại):
local inventory = {
{name = "Health Potion", price = 15, stock = 8},
{name = "Mana Potion", price = 12, stock = 5},
{name = "Strength Potion", price = 25, stock = 3},
{name = "Speed Potion", price = 18, stock = 2}
}
Mục tiêu của bạn là tìm tổng giá trị tính bằng vàng của tất cả bình thuốc còn trong kho.
Các bước cần làm:
1. Tạo một biến (variable) tên là totalValue và đặt giá trị của nó thành 0. Biến này sẽ theo dõi tổng giá trị khi bạn lần lượt duyệt qua từng bình thuốc.
2. Dùng vòng lặp for số học để duyệt qua từng món hàng trong bảng (table) inventory. Với mỗi bình thuốc, nhân price với stock để tính giá trị của bình thuốc đó. Cộng số này vào totalValue.
3. Sau vòng lặp, in kết quả theo mẫu sau:
Total inventory value: 291 goldDùng phép nối chuỗi (string) (..) để kết hợp phần văn bản với giá trị của totalValue.
Tự làm thử
-- Create the initial inventory with health potion
inventory = {
{name = "Health Potion", price = 15, stock = 8}
}
-- Create mana potion
manaPotion = {name = "Mana Potion", price = 12, stock = 5}
-- Add mana potion to inventory
table.insert(inventory, manaPotion)
-- Display all potions in inventory
for i = 1, #inventory do
print(inventory[i].name .. ": " .. inventory[i].price .. " gold")
endTấ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íchTự luyện tập: Trình biên dịch Lua online