• 1
    إدخال وإخراج البيانات
    • المهام
  • 2
    الشروط
    • المهام
  • 3
    حلقة for
    • المهام
  • 4
    السلاسل النصية
    • المهام
  • 5
    حلقة while
    • المهام
  • 6
    القوائم
    • المهام
  • 7
    مصفوفات ثنائية الأبعاد
    • المهام
  • 8
    القواميس
    • المهام
  • 9
    المجموعات
    • المهام
  • 10
    الدوال والتكرار
    • المهام
  • к

درس 6. Lists

الصعوبة:

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

مسألة«أنشئ رقم هاتف»

💻 Python
أنت تقوم بتطوير تطبيق للمسافرين، والذي يسمح لك بتنسيق أرقام الهواتف لمختلف البلدان تلقائيًا. مهمتك هي كتابة دالة تقوم بتنسيق الرقم بشكل صحيح اعتمادًا على طوله، بحيث يمكن للمستخدم الاتصال بالخارج بسهولة.

تنسيق الإدخال

قائمة من الأعداد الصحيحة تمثل أرقام رقم الهاتف (من 10 إلى 14 رقمًا)

تنسيق الإخراج

سطر يمثل رقم هاتف دولي وفقًا لطول الرقم:
rn
10 أرقام & rarr; التنسيق: (XXX) YYY-ZZZZ RN
11 رقمًا & rarr; التنسيق: +x (xxx) yyy-zzzz
rn
12 رقمًا & rarr; التنسيق: +XX (XXX) YYY-ZZZZ RN
13 رقمًا & rarr; التنسيق: +XXX (XXX) Yyy-ZZZZ RN
14 رقمًا & rarr; التنسيق: +xxxx (xxx) yyy-ZZZZ

مثال

إدخال

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

إخراج

(123) 456-7890

تلميح

There will be no clue here, decide for yourself!

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 — يمكنني شرح الدوال والطرق ومساعدتك في المهمة الحالية!