Menu
CoddyTech

Gestore intelligente dei contatti

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 76 di 78.

challenge icon

Sfida

Medio

Pulisci un elenco di contatti. Il programma legge un numero intero n, poi n righe. Ogni riga è un contatto: un nome, un indirizzo email e un numero di telefono, separati da virgole (ogni riga contiene esattamente due virgole).

Esamina i contatti in ordine:

  1. Scrivi l'indirizzo email in minuscolo e conserva solo le cifre del numero di telefono: (555) 123-4567 diventa 5551234567
  2. Salta il contatto se l'indirizzo email non è valido: un indirizzo email valido contiene @ e ., e non contiene spazi
  3. Salta il contatto se il numero di telefono non contiene esattamente 10 cifre
  4. Salta il contatto se un contatto che hai già conservato ha lo stesso indirizzo email o lo stesso numero di telefono (dopo la pulizia)

Stampa ogni contatto che conservi su una riga separata: il nome, | , l'indirizzo email, | e le cifre del numero di telefono. Infine, stampa Contacts kept: , quanti ne hai conservati, of e n.

Per questi input:

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

l'output è:

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

Jane viene saltata perché il suo numero di telefono ha le stesse cifre di quello di John, e Bob perché il suo indirizzo email non contiene @ e il suo numero di telefono è troppo corto.

Provalo tu

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Lee n contactos, límpialos e imprime los que conserves
	pass

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore GDScript online