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

درس 5. While cycle

الصعوبة:

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

مسألة«التحقق من المتناظر»

💻 Python

أنت — متخصص في الأمن السيبراني، وهدفك — الاتصال بالخادم السري "Centaur". بروتوكول الاتصال غير معتاد: يرسل لك الخادم سطرًا للاستدعاء، ويجب عليك فورًا إرسال كلمة المرور الصحيحة ردًا على ذلك. إذا كانت الاستجابة غير صحيحة، يتم قطع الاتصال فورًا.

قاعدة الاستجابة هي التالية: يجب استخراج جميع الأرقام وجميع الحروف اللاتينية من السطر، مع تجاهل باقي الأحرف. ثم تحتاج إلى تكوين سطر جديد، حيث تذهب جميع الأرقام المستخرجة (مع الحفاظ على ترتيبها الأصلي)، ثم — جميع الحروف المستخرجة (مع الحفاظ على ترتيبها أيضًا).

يجب على برنامجك قراءة أسطر الاستدعاء حتى يتلقى الأمر   session_end. لا حاجة لإرسال أي شيء ردًا على هذا الأمر، يجب على البرنامج ببساطة إنهاء عمله.

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

يتم إدخال تسلسل من الأسطر، كل سطر في سطر جديد. كل سطر — هو استدعاء آخر من الخادم. سيكون السطر الأخير دائمًا   session_end.

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

بالنسبة لكل سطر من Zavzov (باستثناء session_end)، من الضروري إزالة كلمة المرور المُنشأة في سطر منفصل.

مثال

إدخال

ألفا123برافو
نداء-إشارة: 9-إكس-راي-8
--20-فيكتور-24--
نهاية_الجلسة

إخراج

123LPHABRAVO
98Callsignxray
2024victor

تلميح

There will be no clue here, decide for yourself!

main.py
اختبار 1
اختبار 2
اختبار 3
اختبار 4
اختبار 5
اختبار 6
اختبار 7
اختبار 8
اختبار 9
اختبار 10
حل المطور
# Бесконечный цикл, который будет прерван изнутри
while True:
    # Читаем очередную строку-вызов от сервера
    challenge_string = input()

    # Проверяем условие выхода из цикла
    if challenge_string == "SESSION_END":
        break  # Завершаем цикл и программу

    # Создаем две пустые строки для сбора цифр и букв
    digits_part = ""
    letters_part = ""

    # Перебираем каждый символ в полученной строке-вызове
    for char in challenge_string:
        # Если символ является цифрой, добавляем его в строку для цифр
        if char.isdigit():
            digits_part += char
        # Иначе, если символ является буквой, добавляем его в строку для букв
        elif char.isalpha():
            letters_part += char
        # Все остальные символы (пробелы, знаки препинания и т.д.) игнорируются

    # Соединяем две части, чтобы получить финальный пароль-отклик
    response_password = digits_part + letters_part

    # Выводим результат
    print(response_password)

🎉 تهانينا! 🎉

لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.

AD

إعلان

red-snake blue-snake green-snake

جارٍ تشغيل الكود...

مساعد الذكاء الاصطناعي

مرحباً! أنا مساعدك في البرمجة. اسألني أي شيء عن Python — يمكنني شرح الدوال والطرق ومساعدتك في المهمة الحالية!