Ziele
- Externe Bibliotheken importieren und nutzen
- Eigene Funktionen definieren und verwenden
- Parameter und Rückgabewerte verstehen
- Programme sauber strukturieren
Externe Bibliotheken
Python wird durch Bibliotheken noch mächtiger. Eine Bibliothek ist eine Sammlung von Funktionen, die andere Programmierer geschrieben haben.
Die random-Bibliothek
import turtle
import random
t = turtle.Turtle()
# Zufällige Zahlen generieren
zufallszahl = random.randint(1, 6)
t.write(f"Würfel: {zufallszahl}")
t.penup()
t.goto(0, -50)
t.pendown()
# Zufällige Farbe
farben = ["red", "blue", "green", "yellow", "purple"]
zufalls_farbe = random.choice(farben)
t.color(zufalls_farbe)
t.circle(30)
Die math-Bibliothek
import turtle
import math
t = turtle.Turtle()
# Mathematische Funktionen nutzen
radius = 50
umfang = 2 * math.pi * radius
flaeche = math.pi * radius * radius
t.write(f"Kreis: Umfang = {umfang:.1f}")
t.penup()
t.goto(0, -30)
t.pendown()
t.write(f"Fläche = {flaeche:.1f}")
Nützliche Funktionen
random-Bibliothek:
random.randint(a, b)
: Zufällige ganze Zahl zwischen a und brandom.choice(liste)
: Zufälliges Element aus einer Listerandom.random()
: Zufällige Kommazahl zwischen 0 und 1
math-Bibliothek:
math.pi
: Die Zahl Pi (3.14159...)math.sqrt(x)
: Quadratwurzel von xmath.pow(x, y)
: x hoch y
Funktionen definieren
Du kennst bereits viele Funktionen: t.forward()
, t.left()
, int()
usw. Funktionen geben dir die Möglichkeit, Programmcode an verschiedenen Stellen mit geringem Aufwand wiederzuverwenden.
Einfache Funktionen ohne Parameter
import turtle
t = turtle.Turtle()
def dreieck_zeichnen():
for i in range(3):
t.forward(50)
t.left(120)
# Funktion aufrufen
dreieck_zeichnen()
t.forward(100)
dreieck_zeichnen()
Erklärung
Mit def
definieren wir eine neue Funktion namens dreieck_zeichnen
. Der Code in der Funktion wird erst ausgeführt, wenn wir sie mit dreieck_zeichnen()
aufrufen.
Funktionen mit Parametern
import turtle
t = turtle.Turtle()
def quadrat_zeichnen(groesse):
for i in range(4):
t.forward(groesse)
t.left(90)
# Verschiedene Quadrate zeichnen
quadrat_zeichnen(30)
t.penup()
t.forward(100)
t.pendown()
quadrat_zeichnen(50)
Funktionen mit Rückgabewerten
import turtle
t = turtle.Turtle()
def quadrat_umfang(seitenlaenge):
umfang = seitenlaenge * 4
return umfang
# Funktion verwenden
seite = 25
umfang = quadrat_umfang(seite)
t.write(f"Umfang: {umfang}")
Aufgaben
Löse die folgenden Aufgaben selbstständig oder mit einem Partner oder Partnerin.
Aufgabe 1: Stern-Funktion
Schreibe eine Funktion stern_zeichnen(groesse)
, die einen 5-zackigen Stern zeichnet.
Aufgabe 2: Zufälliges Kunstwerk
Erstelle ein Programm, das ein zufälliges Kunstwerk zeichnet:
- Zeichne 10 Kreise mit zufälligen Größen (zwischen 10 und 50)
- Jeder Kreis soll eine zufällige Farbe haben
- Die Position jedes Kreises soll zufällig sein
- Verwende eine Funktion
zufalls_kreis()
Aufgabe 3: Polygon-Generator
Erstelle eine Funktion polygon_zeichnen(seiten, groesse)
, die ein beliebiges regelmäßiges Polygon zeichnet.
Aufgabe 4: Geometrie-Rechner
Schreibe Funktionen für geometrische Berechnungen:
kreis_flaeche(radius)
: Berechnet die Fläche eines Kreisesrechteck_umfang(breite, hoehe)
: Berechnet den Umfang eines Rechtecks
Aufgaben vor dem folgenden Block
INFO
Denke über komplexere Programme nach, die alle bisherigen Konzepte kombinieren.