Умный менеджер контактов
Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 76 из 78.
Задание
СреднеОчистите список контактов. Программа считывает целое число n, затем n строк. Каждая строка содержит контакт: имя, адрес электронной почты и номер телефона, разделённые запятыми (в каждой строке ровно две запятые).
Просмотрите контакты по порядку:
- Запишите адрес электронной почты строчными буквами и оставьте в номере телефона только цифры:
(555) 123-4567становится5551234567 - Пропустите контакт, если адрес электронной почты недействителен: действительный адрес электронной почты содержит
@и.и не содержит пробелов - Пропустите контакт, если в номере телефона не ровно
10цифр - Пропустите контакт, если у контакта, которого вы оставили ранее, такой же адрес электронной почты или такой же номер телефона (после очистки)
Выведите каждый оставленный контакт на отдельной строке: имя, | , адрес электронной почты, | и цифры номера телефона. В конце выведите 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
Все уроки раздела Логика и потоки выполнения
1Строки: углублённое изучение
Методы строкПоиск в строкахЗамена и обрезка пробеловРазделение и объединениеПовторение — проверка имени пользователя4Словари. Часть 2
Вложенные словариМассивы словарейОбъединение словарейКопирование словарейПовторение — подсчёт частоты10Продвинутые функции
Возврат нескольких значенийЛямбда-функции. Часть 1Лямбда-функции. Часть 2Повторение — сортировка с помощью лямбда-функцииРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного массива13Система управления запасами
Обзор проектаДобавление товара2Продвинутое управление ветвлением
Сопоставление с переменнымиУсловия в шаблонахШаблоны массивовШаблоны словарейПроверка принадлежностиИтоги — парсер команд5Приложение «Телефонная книга»
Показать менюДобавить контакт8Менеджер успеваемости студентов
Обзор проектаДобавить студента3Многомерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваВложенные циклы с двумерными массивамиПовторение: двумерные массивыРваные массивыТипичные шаблоны работы с двумерными массивамиПовторение: игровое поле6Множества и словари
Что такое множество?Словарь как множествоДобавление и удалениеОбъединение и пересечениеРазность множествПовторение — удаление дубликатовПотренируйтесь самостоятельно: Онлайн-компилятор GDScript