Lösungen Tutorial 2
+
+Aufgabe¶
3 Punkte
+Schreibe eine Funktion sum_up mit Eingabeparameter n, welcher die Zahlen von 1...n aufsummiert.
Nutze dafür einen for-loop.
Beispiel:
+$$n = 5$$ +$$sum\_up(5) \rightarrow 1 \rightarrow 1 + 2 = 3 \rightarrow 3 + 3 = 6 \rightarrow 6 + 4 = 10 \rightarrow 10 + 5 = 15$$
+Hinweis: die Funktion range() zählt standardmässig von 0...n-1. Schauen Sie sich gerne dazu die offizielle Dokumentation an PEP 204.
def sum_up(n: int) -> int:
+ count = 0
+ for i in range(1,n+1):
+ count += i
+ return count
+
+sum_up(5)
+15+
Es gibt immer einen besseren weg.
+Nach Gauß:
+$$\sum_{k=1}^n k = 1 + 2 + 3 + \dots + n = \frac{n(n+1)}{2}$$
+# nach Gauß
+def sum_up(n: int) -> int:
+ return int(n*(n+1)/2)
+
+sum_up(5)
+15+
Aufgabe¶
2 Punkte
+Ihnen ist das Dictionary dict2 gegeben. Ändern Sie jeden Wert in dem Dictionary nach der Formel $f(x) = x^3-1$ mittels for-loop.
Tipp: Lassen Sie sich nicht von den Schlüsseln verwirren.
+# Vorgegeben
+dict2 = {"a": 56, 5: 12, "python": 9, 3.14: 1.141414}
+dict2
+{'a': 56, 5: 12, 'python': 9, 3.14: 1.141414}
+# Kurze Lösung mittels Dictionary Comprehension
+dict2 = {key: value**3-1 for key, value in dict2.items()}
+dict2
+{'a': 175615, 5: 1727, 'python': 728, 3.14: 0.48706374396146557}
+# Lange Übersichtliche Lösung
+for key, value in dict2.items():
+ dict2[key] = dict2[key]**3 - 1
+dict2
+{'a': 175615, 5: 1727, 'python': 728, 3.14: 0.48706374396146557}
+Zusatzaufgabe¶
Keine Punkte
+Erstellen Sie eine List mittels List Comprehension, welche die Zahlen 1...6 auf deren kubische Zahl 1...216 also der Funktion $f(x) = x^3$ abbildet.
cubics = [n**3 for n in range(1,7)]
+cubics
+[1, 8, 27, 64, 125, 216]+
Aufgabe¶
2 Punkte
+Erstellen und Öffnen sie eine Datei testfile.txt mit der open Funktion, nutzen Sie dafür das with-Statement.
Schreiben Sie in diese Datei 100 mal den String "Python\n".
with open('testfile.txt', 'w') as f:
+ for _ in range(100):
+ f.write("Python\n")
+Aufgabe¶
2 Punkte
+Öffnen Sie die zuvor erstellte Datei testfile.txt im Lesemodus und weißen Sie den Inhalt der .readlines() Funktion der Variabeln lines zu.
lines = None # vorgegeben
+with open('testfile.txt', 'r') as f:
+ lines = f.readlines()
+
+print("Anzahl der gelesenen Zeilen:", len(lines))
+Anzahl der gelesenen Zeilen: 100 ++
Aufgabe¶
3 Punkte
+Importiere Python Built-In Library random und rufe zuerst aus dem Modul die Funktion seed auf mit dem Eingabewert 42, und weiße danach der Variable rand den Wert des Funktionsaufrufes von randint(1,100) zu.
rand = None # vorgegeben
+import random
+random.seed(42)
+rand = random.randint(1,100)
+rand
+82+
import datetime as dt
+print(dt.datetime.now())
+2024-11-08 11:58:43.750641 ++
Aufgabe¶
2 Punkte
+Importieren Sie die Funktion sqrt aus dem Built-In Modul math.
+Berechnen Sie $\sqrt4$. Speichern Sie das Ergebnis in der variablen s4.
from math import sqrt
+s4 = sqrt(4)
+s4
+2.0+