Sumowanie wartości
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 49 z 78.
GDScript nie ma wbudowanej funkcji, która sumuje elementy tablicy. Dodajesz wartości za pomocą pętli i sumy bieżącej — zmiennej, która zaczyna od 0 i zwiększa się o każdą wartość:
var coins := [12, 30, 8, 50]
var total := 0
for amount in coins:
total += amount
print(total) # 100Aby dodać wartości do kwoty początkowej, zacznij od tej kwoty. Gracz, który miał 40 monet, kończy poziom z 140:
var total := 40
for amount in coins:
total += amount
print(total) # 140Ta sama pętla sumuje wartości słownika, gdy przechodzi przez values(), i sumuje jedno pole każdego słownika w tablicy, gdy odczytuje to pole:
var inventory := {"potion": 3, "arrow": 20, "bomb": 2}
var items := 0
for count in inventory.values():
items += count
print(items) # 25
var party := [{"hero": "Mia", "hp": 80}, {"hero": "Leo", "hp": 65}]
var party_hp := 0
for member in party:
party_hp += member["hp"]
print(party_hp) # 145Aby uzyskać jedną sumę dla każdej grupy, przechowuj sumy w słowniku. get() z domyślną wartością 0 obsługuje grupę, która nie ma jeszcze sumy:
var loot := [["gold", 10], ["gems", 2], ["gold", 25]]
var totals := {}
for drop in loot:
totals[drop[0]] = totals.get(drop[0], 0) + drop[1]
print(totals) # { "gold": 35, "gems": 2 }Aby obliczyć średnią, podziel sumę przez liczbę wartości i najpierw przekonwertuj ją na float, aby zachować część dziesiętną: float(total) / coins.size().
Wyzwanie
ŁatwySklep chce znać łączną kwotę w kasie na koniec dnia. Program odczytuje dwa wiersze:
- Sprzedaż z danego dnia — liczby całkowite oddzielone spacjami. Wiersz jest pusty, jeśli nie było żadnej sprzedaży.
- Gotówkę, która była w kasie na początku dnia (liczba całkowita).
Dodaj każdą sprzedaż do początkowej kwoty i wypisz wynik po Total: . Dla danych wejściowych 100 200 150 300 i 50 wynik to:
Total: 800Spróbuj swoich sił
extends Node
func _ready():
var sales := OS.read_string_from_stdin().split(" ", false)
var starting_cash := int(OS.read_string_from_stdin())
# Dodaj każdą kwotę sprzedaży do początkowej kwoty gotówki i wypisz sumę
pass
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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