Woche 06#
Intro: Fakultät#
Def: https://de.wikipedia.org/wiki/Fakultät_(Mathematik)
insbesondere fak(0) == 1
Mikroaufgabe: Fakultät in einer Schleife berechnen … Übung!
def fak(n):
if n == 0 or n == 1: ## Laut Def Ergebis = 1
return 1
else:
return n * fak(n-1)
fak(4)
24
Wert einer Liste#
l = [ 1, 3, "Hallo", 20 ]
wert = 0
for x in l:
if isinstance(x, (int, float)):
wert = wert + x
elif isinstance(x, str):
wert = wert + len(x)
else:
print( f"unbekannter Wert-Typ (x), {type(x)} ")
wert
29
def wel(l): # wert einer liste
wert = 0
for x in l:
if isinstance(x, (int, float)):
wert = wert + x
elif isinstance(x, str):
wert = wert + len(x)
elif isinstance(x, list):
# Rekursion!
wert = wert + wel( x )
else:
print( f"unbekannter Wert-Typ {x}, {type(x)} ")
return wert
wel(l)
29
l2 = [ 1, 2, "Hallo", [10,11], 100 ]
wel( l2 )
129
ausführlich: https://www.jbusse.de/jvdp-jb/e_r1c.html
Vorübung: isinstance()
x = 3.14159
isinstance(x, int)
False
isinstance(x, (int, float))
True
isinstance(x, str)
False
CSV einlesen#
mit pandas:
import pandas as pd
df = pd.read_csv('geburtstage.csv')
df.head()
FamName | Vornamen | Jahr | Monat | Tag | Stundensatz | |
---|---|---|---|---|---|---|
0 | Musterfrau | Erika | 2001 | 5 | 29 | 400.99 |
1 | Knuth | Donald | 1919 | 1 | 10 | 12.31 |
df.to_dict(orient='dict') # default
{'FamName': {0: 'Musterfrau', 1: 'Knuth'},
'Vornamen': {0: 'Erika', 1: 'Donald'},
'Jahr': {0: 2001, 1: 1919},
'Monat': {0: 5, 1: 1},
'Tag': {0: 29, 1: 10},
'Stundensatz': {0: 400.99, 1: 12.31}}
df.to_dict(orient='list')
{'FamName': ['Musterfrau', 'Knuth'],
'Vornamen': ['Erika', 'Donald'],
'Jahr': [2001, 1919],
'Monat': [5, 1],
'Tag': [29, 10],
'Stundensatz': [400.99, 12.31]}
df.to_dict(orient='index')
{0: {'FamName': 'Musterfrau',
'Vornamen': 'Erika',
'Jahr': 2001,
'Monat': 5,
'Tag': 29,
'Stundensatz': 400.99},
1: {'FamName': 'Knuth',
'Vornamen': 'Donald',
'Jahr': 1919,
'Monat': 1,
'Tag': 10,
'Stundensatz': 12.31}}