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