** | Potenz |
*, /, //, % | Multiplikation, Division, ganzzahlige Division, Modulo |
+, - | Addition, Subtraktion |
<, <=, >, >=, !=, == | Vergleich |
not | logisches "nicht" |
and | logisches "und" |
or | logisches "oder" |
if | |||||||||||||||||||||||||||||||||||||
Die elif-Klausel darf mehrfach vorkommen:
if <Bedingung>:
<Anweisungsblock>
oder:
if <Bedingung>:
<Anweisungsblock>
elif <Bedingung>:
<Anweisungsblock>
oder:
if <Bedingung>:
<Anweisungsblock>
[elif <Bedingung>:
<Anweisungsblock>]
else:
<Anweisungsblock>
|
# Beispiel:
temp = int(input("Wie kalt ist es heute?: "))
if temp < 0:
print("Vorsicht Glatteis!")
elif temp > 0:
print("Heute sicher kein Glatteis.")
else:
print("Es hat genau Null Grad.")
| ||||||||||||||||||||||||||||||||||||
for-Schleifen | |||||||||||||||||||||||||||||||||||||
for <Variable> in range(<Zahl>):
<Anweisungsblock>
oder:
for <Variable> in <Liste>:
<Anweisungsblock>
|
# Ausgabe der Zahlen 0,1,2,...,9:
for i in range(10):
print(i)
# Ausgabe aller Listenelemente:
fruechte = ["Apfel", "Orange", "Banane"]
for element in fruechte:
print(element)
| ||||||||||||||||||||||||||||||||||||
while-Schleifen | |||||||||||||||||||||||||||||||||||||
while <Bedingung>:
<Anweisungsblock>
|
# Beispiel:
i = 0
while i < 10: # Schleifenbedingung
print(i)
i=i+1 # Wichtig für Abbruchbedingung
# Endlosschleife:
while True:
print(".", end="")
| ||||||||||||||||||||||||||||||||||||
break | |||||||||||||||||||||||||||||||||||||
Eine break-Anweisung verlässt eine aktive Schleife und setzt hinter der Schleife weiter fort.
Befindet sich die Ausführung in einer geschachtelten Schleife, so wird nur die innere Schleife verlassen.
|
# Das Programm bildet die Summe der eingegebenen Zahlen
sum = 0
while True:
input_text = input("Bitte gib eine ganze Zahl ein ('q' für Ende): ")
if input_text == "q":
break
sum = sum + int(input_text)
print("Summe:", sum)
| ||||||||||||||||||||||||||||||||||||
Listen | |||||||||||||||||||||||||||||||||||||
Listen sind ein wichtiger höherer Datentyp
Listenliteral: [<Elementliste>]
Zugriff auf Elemente über Index. Achtung: erstes Element hat Index 0.
Letztes Element kann mit Index -1 angesprochen werden, vorletztes mit -2, ...
Die Länge der Liste kann mit der eingebauten Funktion len() ermittelt werden.
list.append(x)
Fügt ein Element am Ende der Liste hinzu.
list.insert(i, x)
Fügt ein Element an der Postition i hinzu.
Zum Beispiel insert(0, x) fügt an der ersten Stelle hinzu.
list.remove(x)
Entfernt das Element mit dem Wert x von der Liste. Führt zu Fehler wenn dieses Element nicht vorhanden
list.pop(i)
Entferne das Element an Position i und liefere es zurück. Ohne i bezieht sich die Methode auf das letzte Element.
list.index(x)
Liefert die Postition des Elements mit dem Wert x. Führt zu Fehler wenn dieses Element nicht vorhanden
list.count(x)
Liefert als Ergebnis wie oft das Element mit dem Wert x in der Liste vorkommt.
list.sort(cmp=None, key=None, reverse=False)
Sortiert die Liste.
list.reverse()
Kehrt die Liste um.
Gemischte Listen sind erlaubt: ["abc", 3, 3.14, True]
Insbesondere auch geschachtelte Listen: [[1,3], [2,4,1], [5]]
|
haustiere = ["Katze","Hund","Hamster","Goldfisch","Hase"]
print(haustiere[2])
for haustier in haustiere:
print(haustier)
print(len(haustiere))
haustiere.append("Kaninchen")
haustiere.insert(0, "Schildkröte")
print(haustiere)
haustiere.remove("Schildkröte")
print(haustiere)
haustiere.pop()
print(haustiere)
print(haustiere.index("Hamster"))
print(haustiere.count("Hamster"))
haustiere.sort()
print(haustiere)
haustiere.reverse()
print(haustiere)
Ausgabe:
>>>
Hamster
Katze
Hund
Hamster
Goldfisch
Hase
5
['Schildkröte', 'Katze', 'Hund', 'Hamster', 'Goldfisch', 'Hase', 'Kaninchen']
['Katze', 'Hund', 'Hamster', 'Goldfisch', 'Hase', 'Kaninchen']
['Katze', 'Hund', 'Hamster', 'Goldfisch', 'Hase']
2
1
['Goldfisch', 'Hamster', 'Hase', 'Hund', 'Katze']
['Katze', 'Hund', 'Hase', 'Hamster', 'Goldfisch']
>>>
| ||||||||||||||||||||||||||||||||||||
Funktionen | |||||||||||||||||||||||||||||||||||||
Man unterscheidet zwischen Funktionen mit oder ohne Übergabeparameter
und zwischen Funktionen mit oder ohne Rückgabewert.
Funktionen mit Rückgabewert enthalten eine return-Anweisung.
def <Funktionsname>(<Parameterliste>):
<Anweisungsblock>
|
def squared(x):
return x * x
| ||||||||||||||||||||||||||||||||||||
Modulimport | |||||||||||||||||||||||||||||||||||||
Im Wesentlichen gibt es 2 Arten des Modulimports
Im ersten Fall muss der Modulname bei Verwendung der Methode nicht vorangestellt werden.
Das verkürzt den Programmcode etwas.
Im zweiten Fall muss der Modulname bei Verwendung der Methode vorangestellt werden.
Dadurch kann es zu keinen Namenskollisionen (mit eigenem Code oder anderen Modulen) kommen.
|
# '*' importiert alle Methoden, man kann aber auch Methoden
# selektiv (Namen getrennt durch Komma) importieren
from random import *
print(randrange(0, 10)) # Liefert eine Zahl von 0 bis 9
oder
import random
print(random.randrange(0, 10)) # Liefert eine Zahl von 0 bis 9
| ||||||||||||||||||||||||||||||||||||
Zufallszahlen | |||||||||||||||||||||||||||||||||||||
Das random-Modul stellt Funktionalität für Zufallszahlen zur Verfügung:
random.randrange(stop)
Liefert eine Zufallszahl zwischen 0 (inklusive) und stop (exklusive).
random.randrange(start, stop)
Liefert eine Zufallszahl zwischen start (inklusive) und stop (exklusive).
etwas veraltet:
random.randint(x, y) gleichbedeutend wie random.randrange(x, y + 1)
random.random()
Liefert eine Fließkommazahl im Bereich [0.0, 1.0). (inkl. 0 exkl. 1)
random.uniform(a, b)
Liefert eine Fließkommazahl aus dem Bereich [a, b). (inkl. a exkl. b)
random.choice(seq)
Liefert ein zufälliges Element aus der nicht-leeren Folge "seq".
Übergabe einer leeren Folge führt zu einem Fehler.
...
|
from random import *
print(random()) # Liefert eine Fließkommazahl x, 0.0 <= x < 1.0
print(uniform(1, 10)) # Liefert eine Fließkommazahl x, 1.0 <= x < 10.0
print(randint(1, 10)) # Liefert eine ganze Zahl von 1 bis 10 inklusive
print(randrange(0, 10)) # Liefert eine Zahl von 0 bis 9
print(randrange(0, 101, 2)) # Liefert eine gerade Zahl von 1 bis 100
print(choice('abcdefghij')) # Liefert ein zufälliges Element
items = [1, 2, 3, 4, 5, 6, 7]
shuffle(items) # Mischt die Liste
print(items)
Ausgabe
>>>
0.8737058464500848
7.585665303116635
4
7
0
c
[2, 3, 5, 1, 4, 7, 6]
>>>
| ||||||||||||||||||||||||||||||||||||
Uhrzeit, time-Module | |||||||||||||||||||||||||||||||||||||
Siehe auch:
http://strftime.org/
https://docs.python.org/2/library/datetime.html
time.gmtime()
Liefert die aktuelle Zeit bezogen auf Greenwich Mean Time. Zur Ausgabe muss diese Zeit erst mit strftime()
in eine Zeichenkette umgewandelt werden.
time.localtime()
So wie gmtime() aber die Zeitangabe entspricht der lokalen Zeitzone und berücksichtigt auch Sommerzeit.
time.strftime(format[, t])¶
Konvertiert eine Uhrzeit t (so wie sie von gmtime() oder localtime() zurückgeliefert wurde)
in eine Zeichenkette (gemäß der übergebenen Zeichenkette format).
Wenn t nicht übergeben wurde, wird die lokale Systemzeit verwendet.
|
from time import strftime, gmtime, localtime # selektiver Import
# GMT, 24-Stunden-Format
print("aktuelle Zeit:", strftime("%d.%m.%Y %H:%M", gmtime()))
# Lokale Zeit, 24-Stunden-Format
print("aktuelle Zeit:", strftime("%d.%m.%Y %H:%M", localtime()))
# Lokale Zeit, 12-Stunden-Format
print("aktuelle Zeit:", strftime("%d.%m.%Y %I:%M", localtime()))
Ausgabe
>>>
aktuelle Zeit: 11.10.2018 17:35
aktuelle Zeit: 11.10.2018 19:35
aktuelle Zeit: 11.10.2018 07:35
>>>
| ||||||||||||||||||||||||||||||||||||
math-Modul | |||||||||||||||||||||||||||||||||||||
Hier finden sich eine Reihe von nützlichen mathematischen Funktionen und Konstanten.
Quadratwurzel von x:
math.sqrt(x)
Umwandlung:
radians(), degrees()
Kreiszahl pi, Eulersche Zahl e
sin(), cos(), tan(),
asin(), acos(), atan(),
log(), log10(), pow(), ...
|
from math import *
print(sqrt(9))
print(pi)
print(sin(pi/2))
print(sin(radians(90)))
Ausgabe:
>>>
3.0
3.141592653589793
1.0
1.0
>>>
| ||||||||||||||||||||||||||||||||||||
Turtle Programmierung | |||||||||||||||||||||||||||||||||||||
Die wichtigsten Turtle-Befehle:
|
from turtle import *
setup(400,400) # Legt ein Fenster dieser Größe an
shape('turtle') # Zeigt die Schildkröte
fd(50) # 50 Einheiten nach vorn
lt(90) # Dreht um 90 Grad nach links
pencolor('red') # Stiftfarbe ist ab jetzt "rot"
fd(70)
lt(90)
fd(110)
pencolor('blue') # Stiftfarbe ist ab jetzt "blau"
rt(90) # Dreht um 90 Grad nach rechts
bk(100) # Fährt 100 Einheiten zurück
pu() # pen up: Hebt den Stift ab
lt(45)
bk(50)
pd() # pen down: Senkt den Stift ab
pensize(5) # Ändert Stiftgröße auf 5
bk(70)
pensize(1)
home() # Geht zum Ursprung
|