Trouver le minimum et le maximum
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 50 sur 78.
Les tableaux disposent des méthodes min() et max(), qui renvoient l’élément le plus petit et le plus grand :
var temps := [18, 25, 9, 31, 22]
print(temps.min()) # 9
print(temps.max()) # 31Les fonctions globales min() et max() comparent les nombres que tu leur transmets, ce qui est pratique pour deux ou trois valeurs :
print(max(4, 12, 7)) # 12
var hp: int = min(120, 100) # 100, jamais au-dessus de 100Les chaînes sont comparées caractère par caractère, selon leur code Unicode. Chaque lettre majuscule vient avant chaque lettre minuscule :
var words := ["kiwi", "apple", "Fig"]
print(words.min()) # Fig
print(words.max()) # kiwiLa même règle s’applique aux nombres stockés sous forme de texte : "9" est supérieur à "56", car le caractère 9 vient après 5. Convertissez la saisie avec int() avant de comparer des nombres.
Sur un tableau vide, les deux méthodes renvoient null. Pour trouver où se trouve la valeur la plus élevée, passe-la à find() : temps.find(temps.max()) vaut 3. Pour un dictionnaire, prends la plus grande de ses valeurs et recherche sa clé avec find_key(), qui renvoie la première clé associée à cette valeur :
var scores := {"Mia": 120, "Leo": 95, "Ana": 140}
var best: int = scores.values().max()
print(scores.find_key(best), " ", best) # Ana 140max() renvoie une valeur de n’importe quel type, donc déclare le type de la variable (var best: int) au lieu d’écrire :=.
Défi
FacileLe programme lit deux lignes : des nombres entiers séparés par des espaces et des mots séparés par des espaces. Chaque ligne contient au moins une valeur.
Affiche le plus petit et le plus grand nombre, puis le plus petit et le plus grand mot, avec min() et max(). Compare les nombres comme des nombres, et non comme du texte. Pour les entrées 42 17 23 56 9 34 et kiwi apple banana cherry date, la sortie est :
Smallest number: 9
Largest number: 56
Smallest word: apple
Largest word: kiwiEssayez vous-même
extends Node
func _ready():
var number_texts := OS.read_string_from_stdin().split(" ", false)
var words := Array(OS.read_string_from_stdin().split(" ", false))
# Convertissez les nombres en int, puis affichez les quatre résultats
pass
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
1Les chaînes de caractères en profondeur
Méthodes des chaînesRechercher dans les chaînesRemplacer et supprimer les espacesDécouper et joindreRécapitulatif - Vérifier un nom d’utilisateur4Dictionnaires, partie 2
Dictionnaires imbriquésTableaux de dictionnairesFusionner des dictionnairesCopier des dictionnairesRécapitulatif - Compteur de fréquence7Énumérations
Qu’est-ce qu’une énumération ?Définir une énumérationValeurs d’une énumérationÉnumérations avec matchRécapitulatif - Feu de circulation10Fonctions avancées
Renvoyer plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’un tableau imbriqué13Système de gestion des stocks
Présentation du projetAjouter un article2Prise de décision avancée
Correspondance avec des variablesGardes de correspondanceMotifs de tableauMotifs de dictionnaireVérifications d’appartenanceRécapitulatif – Analyseur de commandes5Application de carnet d’adresses
Afficher le menuAjouter un contact8Gestionnaire des dossiers étudiants
Aperçu du projetAjouter un étudiant3Tableaux multidimensionnels
Bases des tableaux 2DAccéder aux éléments d’un tableau 2DBoucles imbriquées avec des tableaux 2DRécapitulatif - Tableaux 2DTableaux irréguliersMotifs courants des tableaux 2DRécapitulatif - Plateau de jeu6Les ensembles avec les dictionnaires
Qu’est-ce qu’un ensemble ?Un dictionnaire comme ensembleAjouter et supprimerUnion et intersectionDifférence d’ensemblesRécapitulatif – Supprimer les doublons9Agrégation avancée de données
Additionner des valeursTrouver le minimum et le maximumTri personnaliséRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur GDScript en ligne