Tìm một loại thuốc cụ thể
Thuộc phần Nền tảng cơ bản trong hành trình Lua của Coddy. Bài học 81 trên 90.
Thử thách
DễDựa trên hệ thống tính giá trị kho hàng, hãy triển khai tính năng tìm kiếm để bạn có thể tìm và hiển thị thông tin chi tiết về một lọ thuốc cụ thể trong kho hàng của cửa tiệm.
Đầu vào sẽ gồm:
- Một chuỗi chứa tên lọ thuốc cần tìm
Dùng vòng lặp for với số để duyệt qua bảng inventory. Với mỗi lọ thuốc, kiểm tra xem name của lọ thuốc có khớp với từ khóa tìm kiếm không bằng toán tử bằng ==.
Khi tìm thấy lọ thuốc khớp, hãy in ra tất cả thông tin chi tiết theo định dạng sau:
Found: [name]
Price: [price] gold
Stock: [stock] unitsDùng phép nối chuỗi để kết hợp phần mô tả với từng thuộc tính của lọ thuốc. Sau khi tìm thấy và hiển thị thông tin chi tiết của lọ thuốc, dùng câu lệnh break để thoát khỏi vòng lặp vì bạn đã tìm thấy thứ mình cần.
Tự làm thử
-- Inventory table with potion data
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}
}
-- Initialize total value variable
local totalValue = 0
-- Calculate total inventory value using numeric for loop
for i = 1, #inventory do
local itemValue = inventory[i].price * inventory[i].stock
totalValue = totalValue + itemValue
end
-- Print the total inventory value
print("Total inventory value: " .. totalValue .. " gold")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íchTự luyện tập: Trình biên dịch Lua online