Menu
CoddyTech

Умный менеджер контактов

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 76 из 78.

challenge icon

Задание

Средне

Очистите список контактов. Программа считывает целое число n, затем n строк. Каждая строка содержит контакт: имя, адрес электронной почты и номер телефона, разделённые запятыми (в каждой строке ровно две запятые).

Просмотрите контакты по порядку:

  1. Запишите адрес электронной почты строчными буквами и оставьте в номере телефона только цифры: (555) 123-4567 становится 5551234567
  2. Пропустите контакт, если адрес электронной почты недействителен: действительный адрес электронной почты содержит @ и . и не содержит пробелов
  3. Пропустите контакт, если в номере телефона не ровно 10 цифр
  4. Пропустите контакт, если у контакта, которого вы оставили ранее, такой же адрес электронной почты или такой же номер телефона (после очистки)

Выведите каждый оставленный контакт на отдельной строке: имя, | , адрес электронной почты, | и цифры номера телефона. В конце выведите Contacts kept: , количество оставленных контактов, of и n.

Для этих входных данных:

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

результат будет таким:

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

Контакт Jane пропускается, потому что в её номере телефона те же цифры, что и в номере John, а контакт Bob — потому что в его адресе электронной почты нет @, а номер телефона слишком короткий.

Попробуйте сами

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Считайте n контактов, очистите их и выведите те, которые оставите
	pass

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript