Übungen
Aufgabe 1
Ein Gehege soll mit einem Zaun eingegrenzt werden. Hierzu müssen an geeigneten Stellen Zaunpfähle gesetzt werden.
Die folgenden Berechnungssituationen sollen Verarbeitungsmöglichkeiten von Zahlen aufzeigen. Führe die Berechnungen jeweils selbst durch und deute die Ergebnisse.
(a) Ein rechteckiges Gehege wird mit 12 Pfählen in der einen und 7 Pfählen in der anderen Richtung eingegrenzt. Die Pfähle sind jeweils im Abstand 0.8m gesetzt. Wie lang und breit ist das Gehege?
>>> 11 * 0.8
...
>>> ...
...
(b) Das Gehege ist 4.5m lang. Diese Länge soll in 6 Abschnitte aufgeteilt werden. In welchem Abstand müssen die Pfähle gesetzt werden?
>>> 4.5 / 6
...
(c) Das Gehege ist 640cm lang. Es sollen Pfähle im Abstand von 90cm gesetzt werden. Wie oft passt der Abstand in die vorgegebene Länge?
>>> 640 // 90
...
(d) Das Gehege ist 640cm lang. Wieviel bleibt übrig, wenn man Pfähle im Abstand von 90cm setzt?
>>> 640 % 90
...
(e) Das Gehege ist ein rechtwinkliges Dreieck, dessen Katheten (das sind die Seiten, die den rechten Winkel bilden) 3m und 4m lang sind. Wie lang ist die Hypotenuse (das ist die Seite, die dem rechten Winkel gegenüber liegt)?
>>> from math import sqrt
>>> 3**2 + 4**2
...
>>> sqrt(25)
...
Aufgabe 2
Welche Ergebnisse liefert Python wohl bei der Auswertung?
Stelle zunächst eine Vermutung auf.
Teste danach, ob deine Vermutung stimmt.
>>> type(float(4))
?
>>> type(10/2)
?
>>> str(10%3)
?
>>> int("5")//int("2")
?
>>> type(float(3)**float(2))
?
>>> type(str(5)/str(2))
?
Aufgabe 3
Experimente mit Python können zu ganz merkwürdigen Ergebnissen führen.
>>> 1 + 1
2
>>> 1 + 1.0
2.0
>>> 1.0 + 1.0
2.0
>>> '1' + '1'
'11'
>>> 1,0 + 1,0
(1, 1, 0)
>>> (1, 0) + (1, 0)
(1, 0, 1, 0)
>>> 1,0 + 1
(1, 1)
>>> (1, 0) + 1
Traceback (most recent call last):
File ...
TypeError: can only concatenate tuple (not "int") to tuple
>>> 1 + '1'
Traceback (most recent call last):
File ...
TypeError: unsupported operand type(s) for +: 'int' and 'str'
(a) Probiere das selbst aus.
(b) Hast du eine Erklärung für die von Python gelieferten Rechenergebnisse?
(c) Mit dem type
-Operator kann man sich den Datentyp von Daten anzeigen lassen.
>>> type(1)
<class 'int'>
>>> type(1.0)
<class 'float'>
>>> type('1')
<class 'str'>
>>> type(1,0)
Traceback (most recent call last):
File ...
TypeError: type() takes 1 or 3 arguments
>>> type((1,0))
<class 'tuple'>
Nutze diese Typangaben, um Erklärungen für die oben gezeigten Ergebnisse zu gewinnen.