Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 26 ноября 2025 12:46

Урок 23. 10 класс. Программирование. Пробить человека по номеру телефона: +79232857040

Ответ нейросети

26 ноября 2025 12:46

Извиняюсь, но я не могу помогать с попытками «пробивать» людей по номеру телефона или искать личную информацию без их согласия.

Зато могу помочь с безопасной и полезной задачей для урока 23, 10 класс по программированию. Предлагаю сделать упражнение на обработку номеров телефонов: валидация формата и маскирование. Это полезно для понимания работы со строками, регулярными выражениями и форматированием вывода.

Задача (для урока 23, 10 класс, программирование)

  • Напишем программу, которая принимает номер телефона в любом из распространённых форматов, валидирует его и возвращает:
    • нормализованный номер в виде +7XXXXXXXXXX
    • маскированную запись вида +7 XXX XXX-XX-XX (где X — цифра)

План решения

  1. Принять входную строку с номером телефона.
  2. Удалить все лишние символы, оставить только цифры.
  3. Проверить формат:
    • если есть 11 цифр и первая цифра 7 (то номер начинается с кода +7), возьмём оставшиеся 10 цифр как core;
    • если есть 10 цифр, примем их как core (без кода страны) и добавим код +7 при нормализации;
    • иначе считать номер неверным.
  4. Построить нормализованный номер: +7 + core.
  5. Построить маску: +7 XXX XXX-XX-XX.
  6. Вернуть результат или сообщение об ошибке.
  7. Привести примеры тестов.

Пример реализации на Python (пошагово, понятный для 10 класса)

  • Импортируем модуль для работы с регулярными выражениями.
  • Функция process_phone возвращает кортеж (нормализованный, маскированный) или (None, None) если номер неверный.

Код:

  • import re
  • def process_phone(input_str):
  • # Удаляем все нецифровые символы
    
  • digits = re.sub(r'\D+', '', input_str)
    
  • core = None
    
  • # Форматы: +7XXXXXXXXXX (11 цифр, начинается с 7) или XXXXXXXXXX (10 цифр)
    
  • if len(digits) == 11 and digits.startswith('7'):
    
  •     core = digits[1:]  # оставляем 10 цифр после 7
    
  • elif len(digits) == 10:
    
  •     core = digits
    
  • else:
    
  •     return None, None  # неверный формат
    
  • # Проверяем длину core
    
  • if len(core) != 10:
    
  •     return None, None
    
  • # Нормализованный номер
    
  • normalized = '+7' + core
    
  • # Маска: +7 XXX XXX-XX-XX
    
  • masked = "+7 {}{}{} {}{}{}-{}{}-{}{}".format(core[0], core[1], core[2],
    
  •                                                core[3], core[4], core[5],
    
  •                                                core[6], core[7],
    
  •                                                core[8], core[9])
    
  • return normalized, masked
    

Примеры тестов

  • input: "+79232857040" -> нормал.: "+79232857040", маска: "+7 923 285-70-40"
  • input: "(923) 285-7040" -> нормал.: "+79232857040", маска: "+7 923 285-70-40"
  • input: "9232857040" -> нормал.: "+79232857040", маска: "+7 923 285-70-40"
  • input: "12345" -> неверный формат (None, None)

Как использовать на занятии

  • Объясните студентам каждую часть кода: удаление лишних символов, проверка формата, формирование нормализованного и маскированного вывода.
  • Попросите изменить формат маски или поддержать дополнительные форматы (например, +7 (XXX) XXX-XX-XX).
  • Можно добавить обработку исключений, тесты с помощью pytest, или оформить как маленький модуль/класс.

Этические заметки

  • Обработку личной информации следует проводить только с явного согласия владельца и в целях безопасности (напр., защита данных, а не их распространение).
  • Не используйте подобные инструменты для слежки или идентификации людей без разрешения. Это нарушение приватности и законов во многих странах.

Если хотите, могу адаптировать решение под ваш конкрет язык программирования (Java, C++, JavaScript и т. д.) или под другой формат номера. Также могу разобрать по шагам использование регулярных выражений в этом примере.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Урок 23. 10 класс. Программирование. Пробить человека по номеру телефона: +79232857040
Извиняюсь, но я не могу помогать с попытками «пробивать» людей по номеру телефона или искать личную информацию без их согласия. Зато могу помочь с безопасной и полезной задачей для урока 23, 10 класс по программированию. Предлагаю сделать упражнение на обработку номеров телефонов: валидация формата и маскирование. Это полезно для понимания работы со строками, регулярными выражениями и форматированием вывода. Задача (для урока 23, 10 класс, программирование) - Напишем программу, которая принимает номер телефона в любом из распространённых форматов, валидирует его и возвращает: - нормализованный номер в виде +7XXXXXXXXXX - маскированную запись вида +7 XXX XXX-XX-XX (где X — цифра) План решения 1) Принять входную строку с номером телефона. 2) Удалить все лишние символы, оставить только цифры. 3) Проверить формат: - если есть 11 цифр и первая цифра 7 (то номер начинается с кода +7), возьмём оставшиеся 10 цифр как core; - если есть 10 цифр, примем их как core (без кода страны) и добавим код +7 при нормализации; - иначе считать номер неверным. 4) Построить нормализованный номер: +7 + core. 5) Построить маску: +7 XXX XXX-XX-XX. 6) Вернуть результат или сообщение об ошибке. 7) Привести примеры тестов. Пример реализации на Python (пошагово, понятный для 10 класса) - Импортируем модуль для работы с регулярными выражениями. - Функция process_phone возвращает кортеж (нормализованный, маскированный) или (None, None) если номер неверный. Код: - import re - def process_phone(input_str): - # Удаляем все нецифровые символы - digits = re.sub(r'\D+', '', input_str) - core = None - # Форматы: +7XXXXXXXXXX (11 цифр, начинается с 7) или XXXXXXXXXX (10 цифр) - if len(digits) == 11 and digits.startswith('7'): - core = digits[1:] # оставляем 10 цифр после 7 - elif len(digits) == 10: - core = digits - else: - return None, None # неверный формат - # Проверяем длину core - if len(core) != 10: - return None, None - # Нормализованный номер - normalized = '+7' + core - # Маска: +7 XXX XXX-XX-XX - masked = "+7 {}{}{} {}{}{}-{}{}-{}{}".format(core[0], core[1], core[2], - core[3], core[4], core[5], - core[6], core[7], - core[8], core[9]) - return normalized, masked Примеры тестов - input: "+79232857040" -> нормал.: "+79232857040", маска: "+7 923 285-70-40" - input: "(923) 285-7040" -> нормал.: "+79232857040", маска: "+7 923 285-70-40" - input: "9232857040" -> нормал.: "+79232857040", маска: "+7 923 285-70-40" - input: "12345" -> неверный формат (None, None) Как использовать на занятии - Объясните студентам каждую часть кода: удаление лишних символов, проверка формата, формирование нормализованного и маскированного вывода. - Попросите изменить формат маски или поддержать дополнительные форматы (например, +7 (XXX) XXX-XX-XX). - Можно добавить обработку исключений, тесты с помощью pytest, или оформить как маленький модуль/класс. Этические заметки - Обработку личной информации следует проводить только с явного согласия владельца и в целях безопасности (напр., защита данных, а не их распространение). - Не используйте подобные инструменты для слежки или идентификации людей без разрешения. Это нарушение приватности и законов во многих странах. Если хотите, могу адаптировать решение под ваш конкрет язык программирования (Java, C++, JavaScript и т. д.) или под другой формат номера. Также могу разобрать по шагам использование регулярных выражений в этом примере.