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). Strings sind in Python Objekte mit Eigenschaften und Methoden. Ein Beispiel für eine Eigenschaft ist die Länge des Strings:
print( len("BeispielString") ) # Antwort: 14
Zu den Methoden vergleiche 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. 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, 2023-07-25