• 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 3. FOR cycle

Schwierigkeit:

Aufgabe«Wortreihenfolge»

💻 Python

Sie — Programmierer im Flugkontrollzentrum. Von unserem neuen Kuriositi-2-Marsrover ist eine wichtige Nachricht über den Zustand seiner Systeme eingegangen. Leider wurde aufgrund eines Sonnenausbruchs die Wortreihenfolge in der Nachricht durcheinandergebracht. Die Ingenieure, die diese Situation vorausgesehen haben, haben in jedes Wort eine Zahl von 1 bis 9 eingebaut, die die korrekte Position des Wortes im Satz angibt. Ihre Aufgabe — Schreiben Sie ein Programm, das die ursprüngliche Wortreihenfolge wiederherstellt und die Nachricht entschlüsselt.

Technische Aufgabe:
Eine Zeile, die aus durch Leerzeichen getrennten Wörtern besteht, wird an das Eingabeprogramm übergeben. Jedes Wort enthält garantiert eine Ziffer von 1 bis 9. Es ist notwendig, die Wörter in der Zeile entsprechend diesen Zahlen zu sortieren und das Ergebnis auszugeben.

Einschränkungen:

  • Wenn die Eingabezeile leer ist, sollte das Programm eine leere Zeile zurückgeben.
  • Die Wörter bestehen nur aus Buchstaben des russischen Alphabets und einer Ziffer.
  • Die Zahlen in der Eingabezeile sind immer konsistent und korrekt (z. B. wenn es 4 Wörter gibt, haben sie die Zahlen 1, 2, 3, 4).
  • Sie dürfen nur grundlegende Konstrukte verwenden: Eingabe-Ausgabe, bedingte Anweisungen ( if/else ) und Schleifen   for . Sie dürfen keine Module importieren oder Funktionen erstellen.

Eingabeformat

Die verschlüsselte Nachricht vom Marsroboter (Zeichenkette, Str).

Ausgabeformat

Entschlüsselte, sinnvolle Nachricht (Zeichenkette, str).

Beispiel

Eingabe

O2 B4

Ausgabe

e1tot O2

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
# Получаем зашифрованную строку от пользователя
scrambled_message = input()

# Проверяем, не является ли строка пустой. Если пустая, то и результат - пустая строка.
if not scrambled_message:
    print("")
else:
    # Разделяем строку на отдельные слова по пробелу
    words = scrambled_message.split()
    
    # Создаем пустой список, в который будем складывать слова в правильном порядке.
    # Его размер равен количеству слов во входной строке.
    result_list = [''] * len(words)
    
    # Начинаем цикл по каждому слову в списке перемешанных слов
    for word in words:
        # Внутри этого цикла ищем цифру в текущем слове
        for char in word:
            # Проверяем, является ли текущий символ цифрой
            if char.isdigit():
                # Если это цифра, превращаем ее в число
                position = int(char)
                # Так как нумерация в задаче с 1, а индексы в списке с 0, вычитаем единицу
                index = position - 1
                # Помещаем текущее слово в результирующий список на правильную позицию
                result_list[index] = word
                # Мы нашли цифру, можно прекратить проверку символов в этом слове и перейти к следующему
                break
    
    # Соединяем отсортированные слова из списка обратно в одну строку через пробел
    final_message = " ".join(result_list)
    
    # Выводим итоговое, расшифрованное сообщение
    print(final_message)

🎉 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!