Menu
CoddyTech

Gestionnaire intelligent de contacts

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

challenge icon

Défi

Moyen

Nettoyez une liste de contacts. Le programme lit un nombre entier n, puis n lignes. Chaque ligne correspond à un contact : un nom, une adresse e-mail et un numéro de téléphone, séparés par des virgules (chaque ligne contient exactement deux virgules).

Parcourez les contacts dans l’ordre :

  1. Écrivez l’adresse e-mail en minuscules et ne gardez que les chiffres du numéro de téléphone : (555) 123-4567 devient 5551234567
  2. Ignorez le contact si l’adresse e-mail n’est pas valide : une adresse e-mail valide contient @ et ., et ne contient aucun espace
  3. Ignorez le contact si le numéro de téléphone ne contient pas exactement 10 chiffres
  4. Ignorez le contact si un contact que vous avez déjà gardé a la même adresse e-mail ou le même numéro de téléphone (après nettoyage)

Affichez chaque contact que vous gardez sur sa propre ligne : le nom, | , l’adresse e-mail, | et les chiffres du numéro de téléphone. Enfin, affichez Contacts kept: , le nombre de contacts gardés, of et n.

Pour les entrées suivantes :

3
John Doe,JOHN@email.com,123-456-7890
Jane Doe,jane@email.com,123.456.7890
Bob Smith,invalid.email,12345

le résultat est :

John Doe | john@email.com | 1234567890
Contacts kept: 1 of 3

Jane est ignorée, car son numéro de téléphone contient les mêmes chiffres que celui de John, et Bob est ignoré, car son adresse e-mail ne contient pas de @ et son numéro de téléphone est trop court.

Essayez vous-même

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Lis n contacts, nettoie-les et affiche ceux que tu conserves
	pass

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

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