Menu
CoddyTech

Inteligentny menedżer kontaktów

Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 76 z 78.

challenge icon

Wyzwanie

Średni

Wyczyść listę kontaktów. Program odczytuje liczbę całkowitą n, a następnie n wierszy. Każdy wiersz to kontakt: imię i nazwisko, adres e-mail oraz numer telefonu, oddzielone przecinkami (każdy wiersz zawiera dokładnie dwa przecinki).

Przejdź po kolei przez kontakty:

  1. Zapisz adres e-mail małymi literami i zachowaj tylko cyfry numeru telefonu: (555) 123-4567 staje się 5551234567
  2. Pomiń kontakt, jeśli adres e-mail jest nieprawidłowy: prawidłowy adres e-mail zawiera @ i ., a także nie zawiera spacji
  3. Pomiń kontakt, jeśli numer telefonu nie składa się dokładnie z 10 cyfr
  4. Pomiń kontakt, jeśli wcześniej zachowany kontakt ma ten sam adres e-mail lub ten sam numer telefonu (po oczyszczeniu)

Wypisz każdy zachowany kontakt w osobnym wierszu: imię i nazwisko, | , adres e-mail, | i cyfry numeru telefonu. Na koniec wypisz Contacts kept: , liczbę zachowanych kontaktów, of i n.

Dla tych danych wejściowych:

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

wynik to:

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

Jane zostaje pominięta, ponieważ jej numer telefonu ma te same cyfry co numer Johna, a Bob — ponieważ jego adres e-mail nie zawiera @, a jego numer telefonu jest za krótki.

Spróbuj swoich sił

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Wczytaj n kontaktów, oczyść je i wypisz te, które zachowasz
	pass

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator GDScript online