Menu
CoddyTech

Additionner des valeurs

Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 49 sur 78.

GDScript ne possède aucune fonction intégrée qui additionne les éléments d’un tableau. Tu additionnes les valeurs à l’aide d’une boucle et d’un total cumulatif, une variable qui commence à 0 et augmente de la valeur de chaque élément :

var coins := [12, 30, 8, 50]
var total := 0
for amount in coins:
	total += amount
print(total) # 100

Pour ajouter les valeurs à un montant de départ, commence le total à cette valeur. Un joueur qui avait 40 pièces avant le niveau termine avec 140 :

var total := 40
for amount in coins:
	total += amount
print(total) # 140

La même boucle additionne les valeurs d’un dictionnaire lorsqu’elle parcourt values(), et additionne un champ de chaque dictionnaire d’un tableau lorsqu’elle lit ce champ :

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) # 145

Pour obtenir un total par groupe, conserve les totaux dans un dictionnaire. get() avec la valeur par défaut 0 prend en charge un groupe qui n’a pas encore de 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 }

Pour calculer une moyenne, divise le total par le nombre de valeurs et convertis d’abord en float pour conserver les décimales : float(total) / coins.size().

challenge icon

Défi

Facile

Un magasin souhaite connaître le montant total de sa caisse à la fin de la journée. Le programme lit deux lignes :

  1. Les ventes de la journée, des nombres entiers séparés par des espaces. La ligne est vide s'il n'y a eu aucune vente.
  2. La somme qui se trouvait dans la caisse au début de la journée (un nombre entier).

Ajoute chaque vente à la somme de départ et affiche le résultat après Total: . Pour les entrées 100 200 150 300 et 50, la sortie est :

Total: 800

Essayez vous-même

extends Node

func _ready():
	var sales := OS.read_string_from_stdin().split(" ", false)
	var starting_cash := int(OS.read_string_from_stdin())
	# Ajoute chaque vente au montant de départ et affiche le total
	pass
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur GDScript en ligne