• 1
    Entrée et sortie
    • Tâches
  • 2
    Conditions
    • Tâches
  • 3
    Boucle for
    • Tâches
  • 4
    Chaînes
    • Tâches
  • 5
    Boucle while
    • Tâches
  • 6
    Listes
    • Tâches
  • 7
    Tableaux 2D
    • Tâches
  • 8
    Dictionnaires
    • Tâches
  • 9
    Ensembles
    • Tâches
  • 10
    Fonctions et récursion
    • Tâches
  • к

Leçon 6. Lists

Difficulté :

Exercice«Créer un numéro de téléphone»

💻 Python
Vous développez une application pour les voyageurs, qui permet de formater automatiquement les numéros de téléphone de différents pays. Votre tâche consiste à écrire une fonction qui formate correctement le numéro en fonction de sa longueur afin que l'utilisateur puisse facilement appeler à l'étranger.

Format d entrée

liste d'entiers représentant les numéros du numéro de téléphone (de 10 à 14 chiffres)

Format de sortie

une ligne représentant un numéro de téléphone international en fonction de la longueur du numéro :
rn
10 chiffres & rarr; Format : (XXX) YYY-ZZZZ RN
11 chiffres & rarr; Format : +x (xxx) yyy-zzzz
rn
12 chiffres & rarr; Format : +XX (XXX) YYY-ZZZZ RN
13 chiffres & rarr; Format : +XXX (XXX) Yyy-ZZZZ RN
14 chiffres & rarr; Format : +xxxx (xxx) yyy-ZZZZ

Exemple

Entrée

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

Sortie

(123) 456-7890

Indice

There will be no clue here, decide for yourself!

main.py
Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Test 7
Test 8
Test 9
Test 10
Solution du développeur
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

🎉 Félicitations ! 🎉

Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.

AD

Publicité

red-snake blue-snake green-snake

Exécution de votre code...

Assistant IA

Bonjour ! Je suis ton assistant de programmation. Pose moi toutes tes questions sur Python — je peux t expliquer les fonctions, les méthodes et t aider avec la tâche en cours !