Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:ffprg1-2020:stringvar [2020/02/04 09:59] Ivo Blöchliger |
lehrkraefte:blc:informatik:ffprg1-2020:stringvar [2022/03/24 13:50] (current) Ivo Blöchliger [Text Quadrate] |
||
---|---|---|---|
Line 13: | Line 13: | ||
</ | </ | ||
- | Einzelne | + | Einzelne |
<code python> | <code python> | ||
a = " | a = " | ||
Line 25: | Line 25: | ||
print(len(a)) | print(len(a)) | ||
b = " | b = " | ||
- | print(len(b)) | + | print(len(b)) |
</ | </ | ||
String mit Zahl multiplizieren: | String mit Zahl multiplizieren: | ||
<code python> | <code python> | ||
- | print(" | + | print(" |
</ | </ | ||
+ | |||
+ | Substrings: | ||
+ | <code python> | ||
+ | a=" | ||
+ | print(a[3: | ||
+ | print(a[6: | ||
+ | print(a[: | ||
+ | </ | ||
+ | |||
+ | Loop: | ||
+ | <code python> | ||
+ | for b in "Hello World": | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ====== 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 | ||
+ | </ | ||
+ | |||
+ | <hidden Lösungsvorschlag> | ||
+ | <code python textquadrat.py> | ||
+ | import sys | ||
+ | t = " | ||
+ | for i in range(len(t)): | ||
+ | for j in range(len(t)): | ||
+ | sys.stdout.write(t[(i+j)%len(t)]+" | ||
+ | |||
+ | </ | ||
+ | <code python textquadrat2.py> | ||
+ | a = " | ||
+ | for i in range(len(a)): | ||
+ | wort = "" | ||
+ | for b in a: | ||
+ | wort += b+" " | ||
+ | print(wort) | ||
+ | a = a[-1]+a[: | ||
+ | </ | ||
+ | <code python> | ||
+ | a = " | ||
+ | l = len(a) | ||
+ | a+=a | ||
+ | for i in range(l): | ||
+ | print(a[i: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **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 | ||
+ | </ | ||
+ | <hidden Lösungsvorschlag> | ||
+ | <code python textquadrat2.py> | ||
+ | import sys | ||
+ | t = " | ||
+ | for i in range(len(t)): | ||
+ | for j in range(len(t)): | ||
+ | p = i+j | ||
+ | if (p> | ||
+ | p = len(t)-p-2 | ||
+ | sys.stdout.write(t[p]+" | ||
+ | |||
+ | </ | ||
+ | Die Idee | ||
+ | <code python textquadrat3.py> | ||
+ | a = " | ||
+ | w = a + a[-2:: | ||
+ | for i in range(len(a)): | ||
+ | wort = "" | ||
+ | for j in range(len(a)): | ||
+ | wort += w[i+j] + " " | ||
+ | print(wort) | ||
+ | </ | ||
+ | </ | ||
+ | ===== Raster ===== | ||
+ | Gegeben sind zwei Zahlen $x$ (Breite) und $y$ Höhe. Produzieren Sie dann folgende Ausgabe, Beispiel für x=6 und y=3 | ||
+ | <code txt> | ||
+ | +---+---+---+---+---+---+ | ||
+ | | | ||
+ | +---+---+---+---+---+---+ | ||
+ | | | ||
+ | +---+---+---+---+---+---+ | ||
+ | | | ||
+ | +---+---+---+---+---+---+ | ||
+ | </ | ||
+ | <hidden Lösungsvorschlag> | ||
+ | <code python raster.py> | ||
+ | x = 6 | ||
+ | y = 3 | ||
+ | |||
+ | h = " | ||
+ | v = " | ||
+ | for i in range(y): | ||
+ | print(h) | ||
+ | print(v) | ||
+ | print(h) | ||
+ | </ | ||
+ | </ | ||
+ | ===== ASCII-Art ===== | ||
+ | Gegeben ist die Grösse des folgenden " | ||
+ | < | ||
+ | +-----+ | ||
+ | |\ /| | ||
+ | | \ / | | ||
+ | | X | | ||
+ | | / \ | | ||
+ | |/ \| | ||
+ | +-----+ | ||
+ | </ | ||
+ | Für $x=3$: | ||
+ | < | ||
+ | +-------+ | ||
+ | |\ /| | ||
+ | | \ / | | ||
+ | | \ / | | ||
+ | | | ||
+ | | / \ | | ||
+ | | / \ | | ||
+ | |/ \| | ||
+ | +-------+ | ||
+ | </ | ||
+ | Hinweis: Ein Backslash ' | ||
+ | <hidden Lösungsvorschlag> | ||
+ | <code python asciiart.py> | ||
+ | x = 3 | ||
+ | h = " | ||
+ | print(h) | ||
+ | for i in range(1, | ||
+ | l = " | ||
+ | for j in range(1, | ||
+ | if (i==x+1 and j==i): | ||
+ | l+=" | ||
+ | else: | ||
+ | if (j==i): | ||
+ | l+= " | ||
+ | elif(2*x+2-j==i): | ||
+ | l+= "/" | ||
+ | else: | ||
+ | l+=" " | ||
+ | l+=" | ||
+ | print(l) | ||
+ | print(h) | ||
+ | </ | ||
+ | </ | ||
+ |