Menjumlahkan Nilai
Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 49 dari 78.
GDScript tidak memiliki fungsi bawaan untuk menjumlahkan array. Kamu menjumlahkan nilai-nilainya dengan perulangan dan total berjalan, yaitu variabel yang dimulai dari 0 dan bertambah sebesar setiap nilai:
var coins := [12, 30, 8, 50]
var total := 0
for amount in coins:
total += amount
print(total) # 100Untuk menambahkan nilai-nilai ke jumlah awal, mulai total dari jumlah tersebut. Pemain yang memiliki 40 koin sebelum level berakhir dengan 140:
var total := 40
for amount in coins:
total += amount
print(total) # 140Perulangan yang sama menjumlahkan nilai dalam dictionary saat menelusuri values(), dan menjumlahkan satu field dari setiap dictionary dalam array saat membaca field tersebut:
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) # 145Untuk mendapatkan satu total per grup, simpan totalnya dalam dictionary. get() dengan nilai bawaan 0 menangani grup yang belum memiliki total:
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 }Untuk menghitung rata-rata, bagi total dengan jumlah nilai, lalu konversikan ke float terlebih dahulu agar angka desimal tetap ada: float(total) / coins.size().
Tantangan
MudahSebuah toko ingin mengetahui jumlah uang di mesin kasirnya pada akhir hari. Program membaca dua baris:
- Total penjualan hari itu, berupa bilangan bulat yang dipisahkan oleh spasi. Barisnya kosong jika tidak ada penjualan.
- Uang yang ada di mesin kasir pada awal hari (bilangan bulat).
Tambahkan setiap penjualan ke uang awal, lalu cetak hasilnya setelah Total: . Untuk input 100 200 150 300 dan 50, outputnya adalah:
Total: 800Coba sendiri
extends Node
func _ready():
var sales := OS.read_string_from_stdin().split(" ", false)
var starting_cash := int(OS.read_string_from_stdin())
# Tambahkan setiap hasil penjualan ke uang tunai awal, lalu cetak totalnya
pass
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Method untuk StringMencari dalam StringMengganti dan Menghapus SpasiMemisahkan dan MenggabungkanUlasan: Memeriksa Nama Pengguna4Dictionary Bagian 2
Dictionary BersarangArray berisi DictionaryMenggabungkan DictionaryMenyalin DictionaryRangkuman: Penghitung Frekuensi10Fungsi Lanjutan
Mengembalikan Beberapa NilaiFungsi Lambda Bagian 1Fungsi Lambda Bagian 2Ringkasan: Mengurutkan dengan LambdaFungsi Rekursif Bagian 1Fungsi Rekursif Bagian 2Ringkasan: Menjumlahkan array Bersarang13Sistem Manajemen Inventaris
Ikhtisar ProyekTambahkan Barang2Pengambilan Keputusan Lanjutan
Pencocokan dengan VariabelGuard pada MatchPola arrayPola dictionaryPemeriksaan KeanggotaanUlasan: Parser Perintah5Aplikasi Buku Kontak
Tampilkan MenuTambah Kontak8Pengelola Data Siswa
Gambaran Umum ProyekTambah Siswa11Fungsi Tingkat Tinggi
Method mapMethod filterMethod reduceany dan allUlasan: Validator EmailUlasan: Pemroses Angka3Array Multidimensi
Dasar-Dasar Array 2DMengakses Elemen Array 2DNested Loop dengan Array 2DRangkuman: Array 2DArray Tidak BeraturanPola Umum Array 2DRangkuman: Papan Permainan6Set dengan Dictionary
Apa Itu Set?Dictionary sebagai SetMenambahkan dan MenghapusUnion dan IntersectionSelisih SetRangkuman: Menghapus Duplikat9Agregasi Data Lanjutan
Menjumlahkan NilaiMencari Nilai Minimum dan MaksimumPengurutan KustomUlasan: Pengurut dictionaryLatihan sendiri: Compiler GDScript online