Einen bestimmten Zaubertrank finden
Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 81 von 90.
Aufgabe
EinfachBaue auf deinem System zur Berechnung des Inventarwerts auf und implementiere eine Suchfunktion, mit der du ein bestimmtes Elixier im Inventar deines Ladens finden und detaillierte Informationen dazu anzeigen kannst.
Behalte deine Tabelle inventory bei, entferne aber die Schleife zur Berechnung des Gesamtwerts und ihre Ausgabe aus dem vorherigen Schritt: In diesem Schritt wird nur das Suchergebnis ausgegeben, und wenn kein Elixier gefunden wird, überhaupt nichts.
Die folgende Eingabe wird bereitgestellt:
- Eine Zeichenfolge mit dem Namen des zu suchenden Elixiers
Verwende eine numerische for-Schleife, um deine Tabelle inventory zu durchlaufen. Prüfe für jedes Elixier, ob der name des Elixiers mithilfe des Gleichheitsoperators == mit dem Suchbegriff übereinstimmt.
Wenn du das passende Elixier findest, gib alle seine Details im folgenden Format aus:
Found: [name]
Price: [price] gold
Stock: [stock] unitsVerwende die Zeichenfolgenverkettung, um den beschreibenden Text mit jeder Eigenschaft des Elixiers zu verbinden. Nachdem du die Details des Elixiers gefunden und ausgegeben hast, verwende die Anweisung break, um die Schleife zu verlassen, da du gefunden hast, wonach du gesucht hast.
Probier es selbst
-- 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")Alle Lektionen in Grundlagen
4Operatoren 2: Vergleichs- und logische Operatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorKurzschlussauswertungTruthy- und Falsy-WerteRückblick – Einfache Logik7Grundlegende bedingte Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungWiederholung – Schatztruhe10Tabellen Teil 1: Listenstil
Was ist eine Tabelle?Eine Tabelle erstellenElemente per Index aufrufenElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Rückblick – Partymitglieder verwalten13Projekt: Einfacher Zaubertrankladen
Projekt einrichtenEinen Zaubertrank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenZeichenkettenBoolesche WerteDer Wert „nil“Die Funktion type()NamenskonventionenRückblick – Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring()-FunktionEingabeTypumwandlungRückblick – StatusberichtRückblick – Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rückblick – Benutzernamen formatieren3Operatoren 1: Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorVerkettung von ZeichenkettenRangfolge der OperatorenWiederholung – Einfache Berechnungen6Projekt: Charakterwerte anzeigen
WillkommensnachrichtCharakterwerte deklarieren9Grundlagen von Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie Anweisung „return“Zusammenfassung – Flächenrechner12Grundlagen der Schleifen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie Anweisung „break“Rückblick – Countdown15Abschließende Herausforderungen
Wiederholung – SpielzugWiederholung – Einfache DatenbankWiederholung – Summe gerader ZahlenÜbe selbstständig: Online-Lua-Compiler