Übersicht

  => Zeichen setzen: Strings
  => Beispiele
  => Aufgaben

Zeichen setzen: Strings

Strings beginnen und enden in Python mit einem einfachen oder doppeltem Anführungszeichen:

"BeispielString" oder 'noch ein String'.

Man kann sich Strings als geordnete Folge von Zeichen vorstellen. BEACHTE: Die Zählung beginnt bei 0 (Null). Es gibt in Python ein Bibliothek von Funktionen, ein sogenanntes Modul mit dem Namen string, man kann es in seinem Programm benutzen, wenn man am Anfang schreibt:

import string

vergleiche hierzu auch das Programm string_demo.py und die Python Library Reference. Wichtig ist noch die Funktion str(), sie nimmt ein beliebiges Objekt entgegen und gibt es als String zurück, Beispiel:

dezimalzahl = str(3.17)

Als Programm-Beispiel schauen wir uns einen HTML-Filter für Sonderzeichen an. In HTML werden Sonderzeichen wie z. B. ein Ö so dargestellt:

Ö

Der Filter in sonderzeichen.py liest eine Zeichenkette ein, und wandelt Sonderzeichen in die HTML-konforme Schreibweise um:

"""
    sonderzeichen.py: enthält einen Filter für HTML-Sonderzeichen
"""
# kodiert Umlaute, etc. in HTML
def sonderzeichen (zeile):
    text = ''
    for i in range( len(zeile) ):
        if zeile[i] == 'ä':
            text = text + 'ä'
        elif zeile[i] == 'Ä':
            text = text + 'Ä'
        elif zeile[i] == 'ö':
            text = text + 'ö'
        elif zeile[i] == 'Ö':
            text = text + 'Ö'
        elif zeile[i] == 'ü':
            text = text + 'ü'
        elif zeile[i] == 'Ü':
            text = text + 'Ü'
        elif zeile[i] == 'ß':
            text = text + 'ß'
        elif zeile[i] == '<':
            text = text + '&lt;'
        elif zeile[i] == '>':
            text = text + '&gt;'
        elif zeile[i] == '&':
            text = text + '&amp;'
        elif zeile[i] == '"':
            text = text + '&quot;'
        else:
            text = text + zeile[i]
    return text

# ausprobieren:
testzeile = '"Immer öfter könnte ich mich ärgern '
testzeile = testzeile + 'über üble Programmierfähler & Würmer"'
print '\n\nStart . . .(sonderzeichen.py)\n'
print testzeile
print
print sonderzeichen(testzeile)
print
print '\n\nBeendet . . .(sonderzeichen.py)\n'

Einige Bemerkungen zu diesem Beispiel:

<<<

Beispiele

findest du unter dem Link "Beispiele":

<<<

Aufgaben

  1. Die Chinesen-Aufgabe (siehe die Datei china.txt):
    Drei Chinesen mit dem Kontrabaß,
    die saßen auf der Straße und erzählten sich was,
    da kam die Polizei, ja was ist denn das,
    Drei Chinesen mit dem Kontrabaß!
    Schreibe einen Filter und ersetze alle Vokale durch den Buchstaben a! Du kannst diese Aufgabe auf zwei Arten lösen: du liest den Text aus einer Datei, oder du speicherst den Text in einer Variablen (Wie machst du das?). Abspeichern unter dem Namen china.py.

  2. Beim Palindrom-Problem geht es um Wörter, die vorwärts wie rückwärts gleich lauten. Beispiele: Otto, Anna, Ara, Lageregal, Legel, Ehe. Schreibe eine Funktion (ohne Rückgabewert), die als Parameter das Testwort übergeben bekommt, und feststellt, ob es sich um ein Palindrom handelt (oder nicht).
    Tipp: Als Eingabe nur kleine Buchstaben benutzen, du testest innerhalb eines Wortes folgendermaßen auf Gleichheit/Ungleichheit (in der Variablen wort steht das zu testende Wort):
    wort[i] == wort[j] bzw. wort[i] != wort[j]
    Abspeichern unter palindrom.py

<<<
    W. Spiegel, E-Mail: walter.spiegel@web.de