Python: Lexiographische Sortierung einer while-Schleife?

Aufgabe:

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 einzeln? 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)
Computer, Programmierung, Informatik, Python, Sortierung, Uni, Sortieren, while-Schleife
1 Antwort
Aussagenlogische Formel, Hilfe?

Als Mehrzad Marashi nach ausgiebigem Trödeln eine gute Viertelstunde zu spät zum Zaubertrankunterricht erscheint, erwartet sie eine Überraschung. Wie der Zaubertranklehrer Prof. Hornswaggles ihm mitteilt, haben seine acht Mitschüler im Rahmen eines Selbstversuchs jeweils einen Trank zu sich genommen – und zwar entweder einen Wahrheitstrank (Veritaserum) oder einen Lügentrank (Mendacioserum). Wer einen solchen Trank genommen hat, sagt stets die Wahrheit bzw. lügt stets.

Als Strafe für das Zuspätkommen muss Mehrzad herausfinden, wer welchen Trank genommen hat.Prof. Hornswaggles gibt ihm noch einenTipp:„Die Anzahl der Schüler, die Mendacioserum getrunkenhaben, ist ungerade.“

Nimm an,, dass jeder Schüler entweder Veritaserum bekommen hat und daher immer die Wahrheit sagt oder Mendacioserum bekommen hat und daher immer lügt. Gehen Sie außerdem davon aus, dass jeder Schüler genau weiß, wer welchen Trank getrunken hat.

Mehrzads Mitschüler teilen ihm Folgendes mit:

• Ariana sagt: „Wenn Bernd Mendacioserum getrunken hat, dann hat Gerhardius Veritaserum getrunken.“

• Bernd sagt: „Ich habe Veritaserum getrunken, aber Dexter trank Mendacioserum.“

• Claire sagt: „Weder Ariana noch Bernd haben Veritaserum getrunken.“

• Dexter sagt: „Francesca und Bernd haben unterschiedliche Tränke getrunken.“

• Emma sagt: „Ich habe denselben Trank wie Ariana getrunken.“

• Francesca sagt:

„Nur wenn Helen Veritaserum getrunken hat, hat auch Ariana Veritaserum getrunken.“

• Gerhardius sagt: „Mindestens ein Schüler hat Mendacioserum getrunken. “

• Helen sagt: „Entweder Claire hat Veritaserum getrunken oder sowohl Francesca als auch Gerhardius tranken Mendacioserum.“

Benutze die Variablen a,...,h mit den Bedeutungen „Ariana hat Veritaserum getrunken“, . . . ,„Helen hat Veritaserum getrunken“.

Ohne ernsthaften Versuch einer Begründung werden stets 0 Punkte vergeben.

a) i) Formalisiere die Aussagen von Mehrzads Mitschülern durch aussagenlogische Formeln φa ,φb,...,φh.Hinweis: Beispielsweise können Sie Alicias Aussage formalisieren durch φa:= (a↔(¬b→g)).

ii) Formalisiere Sie den Tipp von Prof. Hornswaggles (der natürlich der Wahrheit entspricht) durch eine Formel φt.

b) Stelle eine Formel auf, sodass die erfüllenden Belegungen widerspiegeln, wer

welchen Trank genommen hat. Hinweis: Wenn du alles richtig gemacht hast, besitzt

xi genau eine erfüllende Belegung.

Religion, Schule, Mathematik, Sprache, Informatik, Logik, Uni, Aussagenlogik, Wahrheitswerte, Diskrete Modellierung
1 Antwort