• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 6. Списки

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«Создай номер телефона»

Вы разрабатываете приложение для путешественников, которое позволяет автоматически форматировать телефонные номера разных стран. Ваша задача - написать функцию, которая правильно форматирует номер в зависимости от его длины, чтобы пользователь мог легко позвонить за границу.

Формат ввода

Список целых чисел, представляющих цифры телефонного номера (от 10 до 14 цифр)

Формат Вывода

Строка, представляющая отформатированный международный телефонный номер в соответствии с длиной номера:
10 цифр → формат: (XXX) YYY-ZZZZ
11 цифр → формат: +X (XXX) YYY-ZZZZ
12 цифр → формат: +XX (XXX) YYY-ZZZZ
13 цифр → формат: +XXX (XXX) YYY-ZZZZ
14 цифр → формат: +XXXX (XXX) YYY-ZZZZ

Пример

Ввод

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

Вывод

(123) 456-7890

Подсказка

Тут подсказки не будет, решай сам!

main.py
Тест 1
Тест 2
Тест 3
Тест 4
Тест 5
Тест 6
Тест 7
Тест 8
Тест 9
Тест 10
Решение разработчика
def format_phone_number(digits):
    # Преобразуем список цифр в строку
    phone_str = ''.join(map(str, digits))
    length = len(phone_str)
    
    if length == 10:
        # Формат: (XXX) YYY-ZZZZ
        return f"({phone_str[:3]}) {phone_str[3:6]}-{phone_str[6:]}"
    elif length == 11:
        # Формат: +X (XXX) YYY-ZZZZ
        return f"+{phone_str[0]} ({phone_str[1:4]}) {phone_str[4:7]}-{phone_str[7:]}"
    elif length == 12:
        # Формат: +XX (XXX) YYY-ZZZZ
        return f"+{phone_str[:2]} ({phone_str[2:5]}) {phone_str[5:8]}-{phone_str[8:]}"
    elif length == 13:
        # Формат: +XXX (XXX) YYY-ZZZZ
        return f"+{phone_str[:3]} ({phone_str[3:6]}) {phone_str[6:9]}-{phone_str[9:]}"
    elif length == 14:
        # Формат: +XXXX (XXX) YYY-ZZZZ
        return f"+{phone_str[:4]} ({phone_str[4:7]}) {phone_str[7:10]}-{phone_str[10:]}"

# Пример использования
digits = [int(i) for i in input().replace('[', '').replace(']', '').split(',')]
result = format_phone_number(digits)
print(result)  # Выведет: (123) 456-7890

🎉 Поздравляем! 🎉

Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, обьяснить то, что тебе не понятно, а так же о текущей задаче!