Strings (Zeichenketten)
Ein String (Zeichenkette) ist eine Folge von “Buchstaben”.
So lange nur ASCII-Zeichen verwendet werden, geht alles problemlos, ein Buchstabe ist immer ein Byte. Werden Umlaute wie ä,ö,ü oder andere Zeichen wie z.B. 😀 verwendet, wird die Sache etwas komplizierter und es muss auf das Encoding geachtet werden, wofür eigentlich fast immer UFT-8 verwendet werden sollte.
String Operationen
Zusammenfügen mit '+':
a = "Hello " b = "world!" c = a+b print(c)
Einzelne Zeichen als Strings der Länge 1 auslesen:
a = "abcde" print(a[0]) print(a[4])
Länge eines Strings (in Anzahl Bytes):
a = "abc" print(len(a)) b = "öh" print(len(b)) # ergibt 2 (früher erhielt man 3 weil das 'ö' zwei Bytes belegt und len die Anzahl Bytes gezählt hat).
String mit Zahl multiplizieren:
print("na"*31 + " she's got the look!")
Substrings:
a="hello world!" print(a[3:5]) # Von und mit viertem bis ohne sechstem Byte print(a[6:]) # Von siebtem Bytes bis Schluss print(a[:5]) # Von Anfang bis ohne sechstem Byte
Loop:
for b in "Hello World": print(b)
Aufgaben
Text Quadrate
Das Programm hat als Eingabe einen String. Damit sollen folgendes Text-Quadrat produziert werden:
P Y T H O N Y T H O N P T H O N P Y H O N P Y T O N P Y T H N P Y T H O
Challenge Produzieren Sie folgende Ausgabe
P Y T H O N Y T H O N O T H O N O H H O N O H T O N O H T Y N O H T Y P
Raster
Gegeben sind zwei Zahlen $x$ (Breite) und $y$ Höhe. Produzieren Sie dann folgende Ausgabe, Beispiel für x=6 und y=3
+---+---+---+---+---+---+ | | | | | | | +---+---+---+---+---+---+ | | | | | | | +---+---+---+---+---+---+ | | | | | | | +---+---+---+---+---+---+
ASCII-Art
Gegeben ist die Grösse des folgenden “Quadrats”, wobei $x$ für Anzahl Schrägstriche oberhalb vom X steht. Produzieren Sie damit folgende Ausgabe (für $x=2$):
+-----+ |\ /| | \ / | | X | | / \ | |/ \| +-----+
Für $x=3$:
+-------+ |\ /| | \ / | | \ / | | X | | / \ | | / \ | |/ \| +-------+
Hinweis: Ein Backslash '\' wird in einem String mit “\\” geschrieben. Der Grund ist, weil z.B. “\n” für einen Zeilenumbruch oder “\”“ für den String mit einem Anführungszeichen steht.