Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lehrkraefte:sbt:informatik:glf22:python:little-programming-tasks-turtle [2023/01/20 10:33] Karlheinz Schubert created |
lehrkraefte:sbt:informatik:glf22:python:little-programming-tasks-turtle [2023/01/27 13:45] (current) Karlheinz Schubert [Zeichne ein Balkendiagram] |
||
---|---|---|---|
Line 3: | Line 3: | ||
<WRAP center round todo> | <WRAP center round todo> | ||
- Schau dir den Wikipedia Eintrag zur Wurzelschnecke an [[https:// | - Schau dir den Wikipedia Eintrag zur Wurzelschnecke an [[https:// | ||
- | - Schreibe ein kleines Programm, das mit der Turtle eine Wurzelschnecke mit 16 Elementen | + | - Schreibe ein kleines Programm, das mit der Turtle eine Wurzelschnecke mit 17 Dreiecken |
+ | - Frage am Anfang des Programms die Anzahl der Elemente ab und verwende diese in der Schleife. | ||
- | < | + | < |
+ | Es gibt mehrere Möglichkeiten des Konstruktionsalgorithmus', | ||
+ | - Man ermittelt Länge der Hypothenuse und den Winkel und zeichnet damit das Dreieck.\\ Für diesen Algorthmus braucht an das Python Modul Math | ||
+ | - Man nimmt die letzte Hypothenuse und geht im 90° Winkel von ihr eine Einheitseinheit weiter. Der Rücksprung zum Mittelpunkt ergibt die neue Hypothenuse.\\ Für diesen Algorithmus benötigt man die Turtle Funktionen x, y = Stift.pos() und Stift.towards(x, | ||
+ | </ | ||
+ | |||
+ | <hidden Hinweis 1> | ||
<code python> | <code python> | ||
- | for index in range(1, | + | for index in range(1, |
- | Stift.fd(Einheitslaenge) | + | Stift.fd(100) |
x, y = Stift.pos() | x, y = Stift.pos() | ||
Stift.goto(0, | Stift.goto(0, | ||
Line 46: | Line 53: | ||
Zeichenflaeche.exitonclick() | Zeichenflaeche.exitonclick() | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Zeichne ein Balkendiagram ===== | ||
+ | | ||
+ | <WRAP center round todo> | ||
+ | Baue ein kleines Programm, das gegebene Werte als Blakengrafik anzeigt. | ||
+ | Die Werte sollten in einer Liste angegeben werden, z.B. | ||
+ | <code python> | ||
+ | Werte = [50, 110, 130, 90, 145, 210, 100] | ||
+ | Farben = [" | ||
+ | </ | ||
+ | |||
+ | <hidden Hinweis 0> | ||
+ | Die Initialisierung von Zeichenfläche und Stift könnte so aussehen: | ||
+ | <code python> | ||
+ | MaxBalkenHoehe = max(Werte) | ||
+ | AnzahlBalken = len(Werte) | ||
+ | Randabstand = 10 | ||
+ | |||
+ | Zeichenflaeche = turtle.Screen() | ||
+ | Zeichenflaeche.setworldcoordinates(0 - Randabstand, | ||
+ | |||
+ | Stift = turtle.Turtle() | ||
+ | Stift.pensize(3) | ||
+ | Stift.hideturtle() | ||
+ | Stift.speed(0) | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <hidden Hinweis 1> | ||
+ | <code python> | ||
+ | Verwende eine Funktion, die jeweils einen Balken in einer Farbe zeichnet. | ||
+ | </ | ||
+ | </ | ||
+ | <hidden Zusatz> | ||
+ | Lies die Werte für die Balken aus einer Textdatei ein. | ||
+ | <code python> | ||
+ | ReadModus = ' | ||
+ | Datei = open(' | ||
+ | DateiInhalt = Datei.readline() | ||
+ | TextWerte = DateiInhalt.split(',' | ||
+ | Werte = list(map(int, | ||
+ | print(Werte) | ||
</ | </ | ||
</ | </ | ||
</ | </ | ||