Seite anzeigenÄltere VersionenLinks hierherPDF exportierenFold/unfold allNach oben Diese Seite ist nicht editierbar. Du kannst den Quelltext sehen, jedoch nicht verändern. Kontaktiere den Administrator, wenn du glaubst, dass hier ein Fehler vorliegt. ====== Python ====== ===== Programmaufbau ===== <code python> #Bibliotheken einbinden import turtle import random #Globale Variablen name = "Manfred" #Funktionsblock def nameSetzen(nameNeu): global name name = nameNeu #Hauptblock nameSetzen("Gustav") turtle.forward(random.randint(1, 10)) </code> ===== Operatoren ===== ==== Vergleichsoperatoren ==== ^ Operator ^ Bedeutung ^ Beispiel ^ | == | ist gleich | a == b | | != | ist ungleich | a != b | | > | größer | a > b | | < | kleiner | a < b | | >= | größer gleich | a >= b | | <= | kleiner gleich | a <= b | ==== Logische Operatoren ==== ^ Operator ^ Bedeutung ^ Beispiel ^ | and | und | (a == b) and (z > y) | | or | oder | (a == b) or (z > y) | | not | nicht | not (a == b) | ==== Rechenoperatoren ==== Zur Durchführung von Berechnungen stehen verschiedene Rechenoperatoren zur Verfügung: {{:informatik:computerkunst:python-rechenoperatoren.png?614|}} <code python> zahl_a = zahl_x + zahl_y zahl_b = zahl_x - 20 zahl_c = zahl_x * zahl_y zahl_d = zahl_x / 5 zahl_e = zahl_x ** 4 </code> ===== Einseitige Auswahlstruktur ===== <code python> if bedingung: anweisung(en) </code> === Beispiel === <code python> if x > y: turtle.forward(5) </code> ===== Zweiseitige Auswahlstruktur ===== Die Alternative besteht aus einer Bedingung, deren Wahrheitswert überprüft wird. Je nach Ergebnis dieser Prüfung wird einer von zwei Anweisungsblöcken ausgeführt. <code python> if bedingung: anweisung(en) else: anweisung(en) </code> === Beispiel === <code python> if x > y: turtle.forward(5) else: turtle.forward(20) </code> ===== Mehrseitige Auswahlstruktur ===== <code python> if bedingung: anweisung(en) elif bedingung: anweisung(en) else: anweisung(en) </code> === Beispiel === <code python> if x > y: turtle.forward(5) elif y > z: turtle.forward(10) else: turtle.forward(15) </code> ===== Zählschleife ===== <code python> for Variable in Sequenz: Anweisung1 Anweisung2 ... Anweisungn </code> === Beispiel === <code python> for i in range(0,5): turtle.forward(100) turtle.left(90) </code> ===== Variablen ===== Variablen sind also ein Speicher für Werte, die man im Laufe des Programms immer wieder benötigt. Mit der Deklaration benennen wir eine Variable und machen diese dem Compiler bekannt. Mittels der Initialisierung können wir die Variable auf einen initialen Anfangswert setzen. <code python> #Deklaration der Variable x mit dem initalen Anfangswert 10 x = 10 #Zuweisung eines neuen Werts: Das was rechts des = steht, wird der Variable, die links des = steht, zugewiesen x = 11 x = x + 1 #x ist somit 12 #Deklaration der Variable erste_frage mit dem initalen Anfangswert "Wie geht es dir?" erste_frage = "Wie geht es dir?" </code> ===== Eingabe ===== Eingaben einsammeln mit input(): Mit der Input-Funktion können wir einen Benutzer zu einer Eingabe auffordern. Die Eingabe können wir dann z.B. einer Variable zuweisen und damit für eine spätere Verwendung speichern. <code python> lieblingszahl_benutzer = input("Wie lautet deine Lieblingszahl?") </code> === Umwandlung von Datentypen === * Mit ''float()'' eine Zeichenkette in eine Gleitkommazahl umwandeln * Mit ''int()'' eine Zeichenkette in eine Ganzzahl umwandeln ===== Ausgabe ===== Ausgabe von Daten mit print() <code python> #Beispiel 1 print("Hallo Du da!") #Beispiel 2 frage_eins = "Wie geht es dir?" print(frage_eins) #Beispiel 3 x = 5 y = 10 z = x + y print(x, y, z) </code> ===== Zufallszahlen ===== https://docs.python.org/3/library/random.html Eine natürliche Zufallszahl gibt uns folgende Anweisung zurück: <code python>random.randint(m, n)</code> Der Aufruf ''random.randint(1, 10)'' liefert also eine natürliche Zahl zwischen 1 und 10, der Aufruf ''random.randint(5, 8)'' eine natürliche Zahl zwischen 5 und 8. <code python> #Paket importieren import random #Anweisung random.randint(ersteZahl, letzeZahl) </code> === Beispiel === <code python> import random zahl = random.randint(1, 100) print(zahl) turtle.forward(random.randint(1, 10)) </code> ===== Funktionen ohne Parameter ===== <code python> def bezeichner(): Anweisungen </code> === Beispiel === <code python> #Funktionsblock #Hier werden Funktionen definiert, z.B. def vor_und_zurueck(): turtle.forward(100) turtle.right(180) turtle.forward(100) turtle.right(180) ##################### #Hauptblock #Hier folgt der Aufruf der Funktionen, z.B. vor_und_zurueck() </code> ===== Funktionen mit Parameter ===== Das sind Funktionen, denen man Informationen übermittelt, die dann von der Funktion verarbeitet werden und bei jedem Aufruf ein darauf aufbauendes Ergebnis liefern. Die Informationen, die die Funktionen erhalten, nennt man **Parameter**. === Beispiel === <code python> #Funktion mit Parametern def nutzer_gruessen(vorname, nachname): print("Herzlich willkommen,", vorname, nachname) #Funktionsaufruf nutzer_gruessen("Manfred", "Meyer") #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #Eingabeaufforderung zur Veranschaulichung eines weiteren Beispiels vornameEingabe = input("Bitte Vornamen eingeben: ") nachnameEingabe = input("Bitte Nachname eingeben: ") #Funktionsaufruf mit Variablen nutzer_gruessen(vornameEingabe, nachnameEingabe) </code> ===== Funktionen mit Rückgabewert ===== Programmierer können nicht nur Parameter an eine Funktion übergeben, sondern auch Ergebnisse mit einer Funktion an den Aufrufort zurückliefern. Diese Ergebnisse heißen **Rückgabewerte**. Rückgabewerte können sowohl Zahlen, Zeichenketten als auch Wahrheitswerte sein. ==== Beispiel ==== Als Beispiel hier ein Programm, welches das Quadrat einer eingegebenen Zahl errechnet und ausgibt: <code python> def berechne_quadratzahl(zahl): quadratzahl = zahl * zahl return quadratzahl zahl = float(input("Geben Sie bitte eine Zahl ein: ")) ergebnis = berechne_quadratzahl(zahl) print("Die Quadratzahl von", zahl, "ist", ergebnis) </code> ===== Turtle Grafik ===== Bibliothek ''turtle graphics'' - https://docs.python.org/3.3/library/turtle.html ==== Häufige Anweisungen ==== <code python> #turtle.forward(distanz) turtle.forward(10) #turtle.right(winkel) turtle.right(90) #turtle.left(winkel) turtle.left(180) #turtle.back(distanz) turtle.back(10) #turtle.goto(x,y) turtle.goto(100,-100) #Ausrichtung der Turtle bestimmen (0, 90, 180 oder 270) turtle.setheading(0) #turtle.dot(size=None, *color) turtle.dot(20, "blue") #Ausfüllen einer Form #To be called just before drawing a shape to be filled. turtle.begin_fill() #Fill the shape drawn after the last call to begin_fill(). turtle.end_fill() </code> ==== Bilddatei exportieren ==== <code python> import turtle ts = turtle.getscreen() ts.getcanvas().postscript(file="dateiname.eps") </code> Die .eps-Datei konvertieren (z.B. png oder jpg): https://www.epsconverter.com/de.html ==== Farbmodus bestimmen ==== <code python> s1 = turtle.Screen() #rgb-Farben s1.colormode(255) #Stiftfarbe bestimmen turtle.pencolor(255,255,255) </code> rgb-Farbtabelle: http://www.am.uni-duesseldorf.de/de/Links/Tools/farbtabelle.html ==== Kreisbogen zeichnen ==== <code python> import turtle import random import math #Funktion Kreisbogen mit radius (r) und winkel (w) def kreisbogen(r, w): for num in range (0,int(w/10)): turtle.left(2) turtle.forward((r*2*math.pi)/36) turtle.left(2) kreisbogen(50,200) </code> ==== Listen ==== {{:informatik:computerkunst:python-listen1.png?619|}} {{:informatik:computerkunst:python-listen2.png?619|}} {{:informatik:computerkunst:python-listen3.png?619|}} ===== Python im Unterrichtswiki ===== {{topic>python}} {{tag>[informatik arbeitsauftrag computerkunst lernpfad python]}}