• 1
    Entrada e saída
    • Tarefas
  • 2
    Condições
    • Tarefas
  • 3
    Loop for
    • Tarefas
  • 4
    Strings
    • Tarefas
  • 5
    Loop while
    • Tarefas
  • 6
    Listas
    • Tarefas
  • 7
    Matrizes 2D
    • Tarefas
  • 8
    Dicionários
    • Tarefas
  • 9
    Conjuntos
    • Tarefas
  • 10
    Funções e recursão
    • Tarefas
  • к

Lição 6. Lists

Dificuldade:

Tarefa«Criar número de telefone»

💻 Python
Você está desenvolvendo um aplicativo para viajantes, que permite formatar automaticamente os números de telefone de diferentes países. Sua tarefa é escrever uma função que formate corretamente o número dependendo do seu comprimento, para que o usuário possa ligar para o exterior facilmente.

Formato de entrada

lista de inteiros representando os números do telefone (de 10 a 14 dígitos)

Formato de saída

Uma linha representando um número de telefone internacional de acordo com o comprimento do número:
rn
10 dígitos & rarr; Formato: (XXX) YYY-ZZZZ RN
11 dígitos & rarr; Formato: +x (xxx) yyy-zzzz
rn
12 dígitos & rarr; Formato: +XX (XXX) YYY-ZZZZ RN
13 dígitos & rarr; Formato: +XXX (XXX) Yyy-ZZZZ RN
14 dígitos & rarr; Formato: +xxxx (xxx) yyy-ZZZZ

Exemplo

Entrada

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

Saída

(123) 456-7890

Dica

There will be no clue here, decide for yourself!

main.py
Teste 1
Teste 2
Teste 3
Teste 4
Teste 5
Teste 6
Teste 7
Teste 8
Teste 9
Teste 10
Solução do desenvolvedor
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

🎉 Parabéns! 🎉

Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.

AD

Publicidade

red-snake blue-snake green-snake

Executando seu código...

Assistente de IA

Olá! Sou seu assistente de programação. Faça qualquer pergunta sobre Python — posso explicar funções, métodos e ajudá-lo com a tarefa atual!