Transformateur de données
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 78 sur 78.
Défi
DifficileTransformez des dossiers d’élèves en rapport. Le programme lit un nombre entier n, puis n dossiers. Un dossier comporte trois champs séparés par ; : un identifiant d’élève, les notes (nombres entiers séparés par des virgules) et les matières (séparées par des virgules) :
S123;88,92,85;Math,Science,HistoryUn élève est admissible lorsque toutes ses notes sont supérieures à 70 (une note égale à 70 ne suffit pas). Vérifiez cela avec la méthode de tableau all().
Affichez Qualified students: et leur nombre. Ensuite, pour chaque élève admissible dans l’ordre de saisie, affichez son identifiant, : et la moyenne de ses notes avec deux décimales. Puis affichez Subjects: et, pour chaque matière suivie par au moins un élève admissible, la matière, : et le nombre d’élèves admissibles qui la suivent, dans l’ordre de première apparition des matières.
Pour les entrées suivantes :
3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,Historyla sortie est :
Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1S124 n’est pas admissible à cause de la note 65, donc English n’est pas comptée. S’il n’y a aucun élève admissible, la sortie se termine par la ligne Subjects:.
Essayez vous-même
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
# Lire n enregistrements, puis afficher les étudiants qualifiés et les matières
pass
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