Dodawanie produktu
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 72 z 78.
Wyzwanie
ŁatwyDodaj polecenie add. Zachowaj wszystko, co zostało napisane w poprzednim kroku.
Wiersz taki jak add Apple 0.5 100 dodaje element Apple z ceną 0.5 i stanem magazynowym 100. Nazwy elementów składają się z jednego słowa.
Najpierw napisz funkcję add_item(inventory, item, price, stock) nad _ready():
- Jeśli element jest już w
inventory, wypiszError: Item 'Apple' already exists.(z nazwą elementu) i niczego nie zmieniaj - W przeciwnym razie zapisz
{"price": price, "stock": stock}pod nazwą elementu i wypiszItem 'Apple' added successfully.
Następnie dodaj gałąź elif dla add w pętli. Sprawdź wiersz, zanim wywołasz funkcję:
- Jeśli wiersz nie zawiera dokładnie
4części, wypiszError: Use add ITEM PRICE STOCK - Jeśli cena nie jest liczbą lub stan magazynowy nie jest liczbą całkowitą, wypisz
Error: Price and stock must be numeric. - W przeciwnym razie wywołaj
add_item(), konwertując cenę nafloat, a stan magazynowy naint
Dla poleceń add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show i exit wynik to:
Inventory Management System
Item 'Apple' added successfully.
Item 'Banana' added successfully.
Error: Item 'Apple' already exists.
{ "Apple": { "price": 0.5, "stock": 100 }, "Banana": { "price": 0.2, "stock": 50 } }
Goodbye!Spróbuj swoich sił
extends Node
func _ready():
# Inwentarz: nazwa przedmiotu -> {"price": float, "stock": int}
var inventory := {}
print("Inventory Management System")
while true:
var line := OS.read_string_from_stdin()
var parts := line.split(" ")
var command := parts[0]
if command == "exit":
print("Goodbye!")
break
elif command == "show":
print(inventory)
else:
print("Unknown command")
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online