199
Ein bisschen eleganter und ein bisschen vielseitiger
Ein bisschen eleganter und ein
bisschen vielseitiger
Du kannst jetzt leicht aus der Funktion
dreierpack()
eine vielseitigere
Funktion
multipack()
machen, die Muster zeichnen kann, die aus einer
beliebigen Anzahl von Dreiecken bestehen. Die sollten dann aber nicht
immer um 120° gegeneinander gedreht werden, sondern – wie weiter oben
in
dreieck15.py
– um 360° / Anzahl der Dreiecke. Damit werden alle
Dreiecke gleichmäßig auf einen vollen Winkel verteilt (wobei sie sich mög-
licherweise überlappen). Wie viele Dreiecke gibt es? So viele wie Farben-
paare!
>
Führe diese Änderung selbstständig aus, wobei du die Funktion
drei-
erpack()
in
multipack()
umbenennst. Schwierig? Auch mit der
Vorlage
dreieck15.py
? Macht nichts. Lies weiter, etwas weiter un-
ten steht eine Lösung.
O.K., wenn dir das gelungen ist, ist die Funktion
multipack()
vielseitiger
als
dreierpack()
. Und wie wird sie eleganter? Indem wir ausnützen, dass
das Entpacken von Tupeln auch im Kopf einer
for
-Schleife direkt gemacht
werden kann. Beispiel?
>
Mach mit!
>>> for faktoren in ((3,5), (6,9), (5,11)):
a, b = faktoren
print("{0} * {1} = {2}".format(a, b, a * b))
3 * 5 = 15
6 * 9 = 54
5 * 11 = 55
So haben wir’s bisher gemacht. Aber es geht auch so:
>>> for a, b in ((3,5), (6,9), (5,11)):
print("{0} * {1} = {2}".format(a, b, a * b))
3 * 5 = 15
6 * 9 = 54
5 * 11 = 55

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.