0 Daumen
578 Aufrufe

Schreiben Sie ein Programm, welches eine Eingabe in der Konsole entgegennimmt und diese in einer while-Schleife buchstabenweise lexikographisch sortiert. Erlaubt sind Zeichen [A-Z], [a-z] sowie die Umlaute ö,ä und ü (Hinweis: Lassen Sie benachbarte Zeichen gegebenenfalls paarweise austauschen)

1. Geben Sie die Zwischenschritte (gesamte teilsortierte Zeichenkette) nach jedem Austausch in der Konsole aus.
2.Geben Sie das Endergebnis der Sortierung in der Konsole aus.

3.Geben Sie anschließend die Anzahl der getätigten Vergleiche in der Konsole aus.

4. Geben Sie mindestens drei begründete Testfälle.

Beschreiben Sie als Kommentar in ihrem Code, wann die while-Schleife in Ihrer Implementierung beendet wird und warum Sie sich dafür entschieden haben. Hinweis: Nicht lauffähige Programme werden mit null Punkten bewertet, dabei gilt als Maßstab NUR die Ausführbarkeit in der Konsole. Wir testen jede Aufgabe gegen jede, finden also Plagiate ⇒ 0 Punkte


Wie kann man das am besten mittels while-Schleife modellieren. Verstehe ich das richtig, dass mit Zwischenschritte angegeben ist, z.B. zuerst nach Großbuchstaben zu sortieren, dann nach Umlauten oder erstmal alles einzelen? Außerdem sollen nicht lauffähige Abgaben abgefangen werden

Ansatz: Leider mit For-Schleife

eingabe = input ('Eingabe: ')

S = []
x = len(eingabe)
for i in range (0,x):
    S.append(eingabe[i])

print("List is : ",S)


for i in range(0,x):
    for j in range(0,x):
        if S[i]<S[j]:
            temp = S[i]
            S[i]= S[j]
            S[j]=temp
j=""

for i in range(0,x):
    j = j+S[i]

print("After sorting String is : ",j)

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community