i

Beispiel - Palindrome

Interessante Wörter

Was ist das Gemeinsame der folgenden Wörter?

Rentner
Regallager
Reliefpfeiler

Hier noch einige weitere Wörter, die zu den bereits genannten passen:

Anna
Hannah
Otto

Alles klar? Alle diese Wörter ergeben rückwärts gelesen dasselbe Wort. Man nennt solche Wörter auch Palindrome.

Ziel ist es, das Umkehren von Wörtern und den Palindromtest mit einem geeigneten Programm zu automatisieren.

Darstellung als Zeichenkette

Zunächst werden die zu verarbeitenden mit Hilfe von Daten von Typ Zeichenkette dargestellt. In Python lässt sich das auf unterschiedliche Weisen realisieren.

Einzeilige Zeichenkette können mit Hochkommata '...' oder Anführungszeichen "..." markiert werden. Bei mehrzeiligen Zeichenketten benutzt man jeweils drei Hochkommata '''...''' oder drei Anführungszeichen """...""". Beachte, dass text4 mit einem Zeilenumbruch anfängt und mit einem Zeilenumbruch endet. Probiere selbst weitere Beispiele aus.

Zugriff auf die Zeichen

Die einzelnen Zeichen einer Zeichenkette sind von 0 an durchnummeriert. Mit Hilfe der jeweiligen Nummer - die man auch als Index bezeichnet - kann man auf aktuelle Zeichen Zugreifen. Beachte, dass die mehrzeilige Zeichenkette im folgenden Demoprogramm hier mit einem Zeilenumbruch beginnt.

Wenn man beim Zugriff den Indexbereich verlässt, gibt es eine Fehlermeldung.

Eine Zeichenkette durchlaufen

Eine Zeichenkette kann man durchlaufen, indem man mit einer while-Schleife der Reihe nach ünber den auf jedes Zeichen zugreift - von 0 an bis zum letzten Index, der kleiner als die Länge der Zeichenkette ist.

Denselben Effekt kann man mit einer for-Schleife erzielen, wobei der range-Operator hier den gewünschten Indexbereich erzeugt.

Noch kürzer geht es mit einer for-Schleife direkt über die Zeichen der Zeichenkette.

Probiere das jeweils aus.

Zeichenketten aneinanderfügen

Zeichenketten kann man mit dem +-Operator aneinanderfügen.

Hier einige weitere Beispiele. Versuche vorab zu erschließen, was im folgenden Programm ausgegeben wird.

Ergänze selbst weitere Testanweisungen. Probiere dabei auch eine Art Zeichenkettenvervielfachung wie 3*'Hallo' aus.

Erkennung von Palindromen

Das Erkennen von Palindromen ist recht einfach: Man kehrt das Wort um und überprüft, ob das umgekehrte Wort mit dem zu überprüfenden Wort übereinstimmt.

Aufgabe 1

(a) Entwickle ein Programm, das ein eingegebenes Wort umkehrt. Hier ein passender Algorithmus:

ALGORITHMUS umkehren
Eingabe: wort
wortUmgekehrt = ''
für alle zeichen aus wort:
    füge das zeichen vorne in wortUmgekehrt an
Ausgabe: wortUmgekehrt

(b) Entwickle das Programm so weiter, dass das eingegebene Wort daraufhin überprüft wird, ob es ein Palindrom ist.

ALGORITHMUS palindome
Eingabe: wort
wortUmgekehrt = ''
für alle zeichen aus wort:
    füge das zeichen vorne in wortUmgekehrt an
WENN wortUmgekehrt und wort identisch sind:
    Ausgabe: 'Palindom'
SONST:
    Ausgabe: 'kein Palindom'

Suche

v
6.3.2.10.1
www.inf-schule.de/imperative-programmierung/python/konzepte/zeichenketten/beispiel_palindrome
www.inf-schule.de/6.3.2.10.1

Rückmeldung geben