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 eine 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: enthaelt einen Filter fur 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 + '<'
elif zeile[i] == '>':
text = text + '>'
elif zeile[i] == '&':
text = text + '&'
elif zeile[i] == '"':
text = text + '"'
else:
text = text + zeile[i]
return text
# ausprobieren:
testzeile = '"Immer öfter konnte ich mich ärgern '
testzeile = testzeile + 'über üble Programmierfahler & 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:
sonderzeichen(zeile)
: zeile
wird über den Zahler i einmal nach Sonderzeichen abgesucht, und ein Sonderzeichen wird jeweils ersetzt durch die HTML-Schreibweise. Die for-Schleife kann man auch so programmieren:
for zeichen in zeile:
if zeichen == 'ä':
text = text + 'ä'
elif zeichen == 'Ä':
text = text + 'Ä'
.
.
.
else:
text = text + zeichen
Erkläre den Unterschied: ________________________________________________
findest du unter dem Link Beispiele:
china.py
. wort
steht das zu testende Wort):wort[i] == wort[j]
bzw. wort[i] != wort[j]
palindrom.py
→ sp, , 2016-12-09