• 1
    Eingabe und Ausgabe
    • Aufgaben
  • 2
    Bedingungen
    • Aufgaben
  • 3
    For-Schleife
    • Aufgaben
  • 4
    Zeichenketten
    • Aufgaben
  • 5
    While-Schleife
    • Aufgaben
  • 6
    Listen
    • Aufgaben
  • 7
    2D-Arrays
    • Aufgaben
  • 8
    Wörterbücher
    • Aufgaben
  • 9
    Mengen
    • Aufgaben
  • 10
    Funktionen und Rekursion
    • Aufgaben
  • к

Lektion 5. While cycle

Schwierigkeit:

Aufgabe«Palindrom prüfen»

💻 Python

Sie sind ein Cybersicherheitsspezialist, und Ihr Ziel ist es, sich mit dem geheimen Server "Centaur" zu verbinden. Das Verbindungsprotokoll ist ungewöhnlich: Der Server sendet Ihnen eine Zeilenaufforderung, und Sie müssen sofort die richtige Passwort-Antwort zurücksenden. Wenn die Antwort falsch ist, wird die Verbindung sofort abgebrochen.

Die Antwortregel lautet wie folgt: Es müssen alle Zahlen und alle lateinischen Buchstaben aus der Zeile extrahiert werden, wobei die restlichen Zeichen ignoriert werden. Dann müssen Sie eine neue Zeile erstellen, in der zuerst alle extrahierten Zahlen (unter Beibehaltung ihrer ursprünglichen Reihenfolge) und dann alle extrahierten Buchstaben (ebenfalls unter Beibehaltung ihrer Reihenfolge) stehen.

Ihr Programm muss die Zeilenaufforderungen lesen, bis es den Befehl session_end erhält. Auf diesen Befehl muss nichts ausgegeben werden; das Programm soll einfach seine Arbeit beenden.

Eingabeformat

Die Eingabe erfolgt als eine Folge von Zeilen, jede in einer neuen Zeile. Jede Zeile — ist ein weiterer Aufruf vom Server. Die letzte Zeile ist immer   session_end.

Ausgabeformat

Für jede Zeile-Zavzov (außer für   session_end ) ist es erforderlich, das generierte Passwort in einer separaten Zeile auszugeben.

Beispiel

Eingabe

alpha123bravo
Rufzeichen: 9-x-ray-8
--20-Victor-24--
Sitzungsende

Ausgabe

123LPHABRAVO
98Callsignxray
2024victor

Hinweis

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
Entwicklerlösung
# Бесконечный цикл, который будет прерван изнутри
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)

🎉 Glückwunsch! 🎉

Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.

AD

Werbung

red-snake blue-snake green-snake

Führe deinen Code aus...

KI-Assistent

Hallo! Ich bin dein Programmier-Assistent. Stelle mir beliebige Fragen zu Python — ich erkläre Funktionen, Methoden und helfe dir bei der aktuellen Aufgabe!