Menjual Ramuan
Termasuk bagian Dasar-Dasar dalam perjalanan Lua di Coddy. Pelajaran 82 dari 90.
Tantangan
MudahLengkapi proyek toko ramuanmu dengan menerapkan sistem transaksi penjualan. Dengan mengembangkan fungsi pencarianmu, buat sistem yang memproses penjualan ramuan dengan mengurangi jumlah stok dan memberikan konfirmasi transaksi.
Input berikut akan diberikan:
- String yang berisi nama ramuan yang akan dijual
Gunakan for loop numerik untuk menelusuri tabel inventory guna menemukan ramuan yang dimaksud. Saat kamu menemukan ramuan yang cocok menggunakan operator kesetaraan ==, kurangi nilai stock-nya sebanyak 1 untuk menyimulasikan penjualan.
Setelah memperbarui stok, cetak pesan konfirmasi yang menampilkan nama ramuan dan tingkat stok barunya dengan format:
Sold 1 [potion name]
Remaining stock: [new stock count]Gunakan penggabungan string untuk menggabungkan teks deskriptif dengan nama ramuan dan jumlah stok yang telah diperbarui. Setelah memproses penjualan, gunakan pernyataan break untuk keluar dari perulangan.
Coba sendiri
-- Inventory table with potion data
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}
}
-- Read the potion name to search for
search_name = io.read()
-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
if inventory[i].name == search_name then
print("Found: " .. inventory[i].name)
print("Price: " .. inventory[i].price .. " gold")
print("Stock: " .. inventory[i].stock .. " units")
break
end
endSemua pelajaran di Dasar-Dasar
4Operator 2: Relasional dan Logika
Operator KesetaraanOperator RelasionalOperator 'and'Operator 'or'Operator 'not'Evaluasi Hubung SingkatNilai Truthy dan FalsyRangkuman: Logika Sederhana7Logika Percabangan Dasar
Pernyataan if-thenPernyataan if-then-elsePernyataan elseifRangkuman: Peti Harta Karun10Tabel Bagian 1: Gaya list
Apa itu Tabel?Membuat TabelMengakses Elemen berdasarkan IndeksMengubah Elemen berdasarkan IndeksOperator Panjang '#'table.insert()table.remove()Ringkasan: Kelola Anggota Pesta13Proyek: Toko Ramuan Sederhana
Menyiapkan ProyekMenambahkan Ramuan2Variabel dan Tipe Data
Apa Itu Variabel?AngkastringBooleanNilai 'nil'Fungsi type()Konvensi PenamaanUlasan: Profil Karakter5Output Dasar
Mencetak Nilai LiteralMencetak VariabelMencetak Beberapa NilaiMenggabungkan string dan VariabelFungsi tostring()inputKonversi TipeRangkuman: Laporan StatusRangkuman: Sampai 1208Dasar Manipulasi string
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rangkuman: Format Nama Pengguna3Operator 1 Aritmetika & Penggabungan
Operator AritmetikaOperator ModuloOperator PemangkatanPenggabungan stringPrioritas OperatorRingkasan: Perhitungan Sederhana6Proyek: Menampilkan Statistik Karakter
Pesan SambutanDeklarasikan Statistik Karakter9Dasar-Dasar Fungsi
Mendeklarasikan FungsiMemanggil FungsiFungsi dengan ParameterFungsi dengan Beberapa ParameterPernyataan 'return'Rekap: Kalkulator LuasLatihan sendiri: Compiler Lua online