02. Jupyter Notebook

ehemalige Veranstaltungen ia3.netz + ia3.data sowie ia4.Netz im Studiengang Interaktive Medien

(c) 2020 Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever

In [1]:
beispiel = [1,2,5,7,9]
beispiel
Out[1]:
[1, 2, 5, 7, 9]
In [3]:
beispiel = list("123456")
beispiel
Out[3]:
['1', '2', '3', '4', '5', '6']
In [4]:
beispiel = list(beispiel)
beispiel
Out[4]:
['1', '2', '3', '4', '5', '6']
In [5]:
beispiel = list([1,2,3,4,5])
beispiel
Out[5]:
[1, 2, 3, 4, 5]
In [6]:
beispiel = list("dies ist ein Satz")
beispiel
Out[6]:
['d',
 'i',
 'e',
 's',
 ' ',
 'i',
 's',
 't',
 ' ',
 'e',
 'i',
 'n',
 ' ',
 'S',
 'a',
 't',
 'z']
In [7]:
beispiel[5:8] = list("war")
beispiel
Out[7]:
['d',
 'i',
 'e',
 's',
 ' ',
 'w',
 'a',
 'r',
 ' ',
 'e',
 'i',
 'n',
 ' ',
 'S',
 'a',
 't',
 'z']
In [9]:
beispiel = tuple("dies ist ein Satz")
beispiel
Out[9]:
('d',
 'i',
 'e',
 's',
 ' ',
 'i',
 's',
 't',
 ' ',
 'e',
 'i',
 'n',
 ' ',
 'S',
 'a',
 't',
 'z')
In [10]:
beispiel[5:8]
Out[10]:
('i', 's', 't')
In [11]:
beispiel[5:8] = tuple("war")
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-547058ae9f76> in <module>()
----> 1 beispiel[5:8] = tuple("war")

TypeError: 'tuple' object does not support item assignment
In [12]:
for i in range(len(beispiel)):
    print(i,beispiel[i])
0 d
1 i
2 e
3 s
4  
5 i
6 s
7 t
8  
9 e
10 i
11 n
12  
13 S
14 a
15 t
16 z
In [13]:
beispiel.index('S')
Out[13]:
13
In [14]:
beispiel.index('i')
Out[14]:
1
In [15]:
beispiel.index('i',2)
Out[15]:
5
In [16]:
a = [1,2,3,4]
b = [3,4,5,6,7,8]
c = set(a)
c
Out[16]:
{1, 2, 3, 4}
In [18]:
d = set(b)
d
Out[18]:
{3, 4, 5, 6, 7, 8}
In [19]:
c&d
Out[19]:
{3, 4}
In [20]:
c|d
Out[20]:
{1, 2, 3, 4, 5, 6, 7, 8}
In [21]:
c-d
Out[21]:
{1, 2}
In [22]:
d-c
Out[22]:
{5, 6, 7, 8}
In [24]:
e = {8,5,6,7}
e
Out[24]:
{5, 6, 7, 8}
In [25]:
{5,6,7,8} == {8,5,6,7}
Out[25]:
True
In [27]:
z = zip([1,2,3,4],[5,6,7,8])
In [28]:
for i in z:
    print(i)
(1, 5)
(2, 6)
(3, 7)
(4, 8)
In [32]:
dict(z)
Out[32]:
{}
In [31]:
dict(zip([1,2,3,4],[5,6,7,8]))
Out[31]:
{1: 5, 2: 6, 3: 7, 4: 8}
In [33]:
dict(zip(["sieben","acht","neun"],[7,8,9]))
Out[33]:
{'sieben': 7, 'acht': 8, 'neun': 9}
In [34]:
a = dict(eins=1,zwei=2,drei=3)
a
Out[34]:
{'eins': 1, 'zwei': 2, 'drei': 3}
In [35]:
c = dict(zip(["sieben","acht","neun"],[7,8,9]))
c
Out[35]:
{'sieben': 7, 'acht': 8, 'neun': 9}
In [37]:
a.update(c)
a
Out[37]:
{'eins': 1, 'zwei': 2, 'drei': 3, 'sieben': 7, 'acht': 8, 'neun': 9}
In [38]:
a.update({'eins':2,'zwei':1})
a
Out[38]:
{'eins': 2, 'zwei': 1, 'drei': 3, 'sieben': 7, 'acht': 8, 'neun': 9}
In [39]:
a.items()
Out[39]:
dict_items([('eins', 2), ('zwei', 1), ('drei', 3), ('sieben', 7), ('acht', 8), ('neun', 9)])
In [40]:
adressbuch = []
Kontakt1 = {'Name':'Mayer','Vorname':'Hans','Mobilnummer':'013409059066'}
adressbuch.append(Kontakt1)
Kontakt2 = {'Name':'Hinterberger','Vorname':'Wolfgang','Mobilnummer':'03578376666'}
adressbuch.append(Kontakt2)
adressbuch
Out[40]:
[{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '013409059066'},
 {'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '03578376666'}]
In [41]:
adressbuch[0]['Name']
Out[41]:
'Mayer'
In [46]:
adressbuch = [dict(Name='Mayer',Vorname='Hans',Mobilnummer='01737848782'),
              dict(Name='Hinterberger',Vorname='Wolfgang',Mobilnummer='94787353599')]
In [43]:
adressbuch
Out[43]:
[{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '01737848782'},
 {'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '94787353599'}]
In [45]:
sorted(adressbuch, key=lambda t: t['Name'])
Out[45]:
[{'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '94787353599'},
 {'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '01737848782'}]
In [47]:
sorted(adressbuch, key=lambda t: t['Vorname'])
Out[47]:
[{'Name': 'Mayer', 'Vorname': 'Hans', 'Mobilnummer': '01737848782'},
 {'Name': 'Hinterberger', 'Vorname': 'Wolfgang', 'Mobilnummer': '94787353599'}]
In [48]:
lambda t: t['Vorname']
Out[48]:
<function __main__.<lambda>(t)>
In [49]:
def bspfkt(t):
    return t['Vorname']
In [ ]:
bspfkt()
In [50]:
class Ort():
    Defaulthoehe = 0.0
    
    def __init__(self, nord, ost, hoehe=0):
        self.Ost = ost
        self.Nord = nord
        if hoehe: 
            self.Hoehe = hoehe
        else: 
            self.Hoehe = self.Defaulthoehe
    
    def getKoord(self):
        return (self.Nord,self.Ost)
    
    def setKoord(self, nord, ost):
        self.Ost = ost
        self.Nord = nord
In [51]:
ort = Ort()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-51-10b20bffb8c1> in <module>()
----> 1 ort = Ort()

TypeError: __init__() missing 2 required positional arguments: 'nord' and 'ost'
In [52]:
ort = Ort(48.358163,10.906377)
ort.getKoord()
Out[52]:
(48.358163, 10.906377)
In [53]:
ort.Hoehe
Out[53]:
0.0
In [54]:
adressbuch = []

class Person(object):
    
    def __init__(self, Name, Vorname, Geburtsdatum, Alter=None, Geschlecht=None):
        self.Name = Name
        self.Vorname = Vorname
        self.Geburtsdatum = Geburtsdatum
        self.Alter = Alter
        self.Geschlecht = Geschlecht
        
    def setContactDetails(self, Telprivate=None, Telbusiness=None, EMail=None):
        self.Telefon = dict(Privat=Telprivate,Business=Telbusiness)
        self.EMail = EMail
        
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))

adressbuch[0].setContactDetails(Telprivate="4926589255",EMail="hmueller@gmx.de")
adressbuch[1].setContactDetails(Telprivate="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telprivate="0161423274",EMail="annwel@1und1.de")
In [55]:
adressbuch
Out[55]:
[<__main__.Person at 0x1863c50eb70>,
 <__main__.Person at 0x1863c50ebe0>,
 <__main__.Person at 0x1863c50ec18>]
In [56]:
adressbuch[0].Telefon
Out[56]:
{'Privat': '4926589255', 'Business': None}
In [57]:
adressbuch = []

class Person(object):
    
    def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
        self.Name = Name
        self.Vorname = Vorname
        self.Geburtsdatum = Geburtsdatum
        self.Geschlecht = Geschlecht
        self.Telefon = dict()
        self.EMail = dict()
        
    def setContactDetails(self, Telefon, EMail, Typ="Privat"):
        self.Telefon.update({typ: Telefon})
        self.EMail.update({typ: EMail})
        
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))

adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-57-8f53e1d6cc33> in <module>()
     19 adressbuch.append(Person("Weller","Annika","10.11.1997"))
     20 
---> 21 adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
     22 adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
     23 adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")

<ipython-input-57-8f53e1d6cc33> in setContactDetails(self, Telefon, EMail, Typ)
     12 
     13     def setContactDetails(self, Telefon, EMail, Typ="Privat"):
---> 14         self.Telefon.update({typ: Telefon})
     15         self.EMail.update({typ: EMail})
     16 

NameError: name 'typ' is not defined
In [58]:
adressbuch = []

class Person(object):
    
    def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
        self.Name = Name
        self.Vorname = Vorname
        self.Geburtsdatum = Geburtsdatum
        self.Geschlecht = Geschlecht
        self.Telefon = dict()
        self.EMail = dict()
        
    def setContactDetails(self, Telefon, EMail, Typ="Privat"):
        self.Telefon.update({Typ: Telefon})
        self.EMail.update({Typ: EMail})
        
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))

adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [59]:
adressbuch[0].Telefon
Out[59]:
{'Privat': '4926589255', 'business': '492658457485'}
In [60]:
adressbuch[0].setContactDetails(Telefon="08956736576",EMail="hans.mueller@muenchen.de",Typ="Wohnung München")
In [61]:
adressbuch[0].Telefon
Out[61]:
{'Privat': '4926589255',
 'business': '492658457485',
 'Wohnung München': '08956736576'}
In [62]:
adressbuch = []

class Person(object):
    
    def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
        self.Name = Name
        self.Vorname = Vorname
        self.Geburtsdatum = Geburtsdatum
        self.Geschlecht = Geschlecht
        self.Telefon = dict()
        self.EMail = dict()
        
    def setContactDetails(self, Telefon, EMail, Typ="Privat"):
        # self.Telefon.update({Typ: Telefon})
        self.Telefon.update(dict(Typ=Telefon))
        # self.EMail.update({Typ: EMail})
        self.EMail.update(dict(Typ=EMail))
        
adressbuch.append(Person("Müller","Hans","1.4.1995"))
adressbuch.append(Person("Mayer","Fritz","4.8.1998"))
adressbuch.append(Person("Weller","Annika","10.11.1997"))

adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [63]:
adressbuch[0].Telefon
Out[63]:
{'Typ': '492658457485'}
In [65]:
import datetime
adressbuch = []

class Person(object):
    
    def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
        self.Name = Name
        self.Vorname = Vorname
        self.Geburtsdatum = Geburtsdatum
        self.Geschlecht = Geschlecht
        self.Telefon = dict()
        self.EMail = dict()
        
    def setContactDetails(self, Telefon, EMail, Typ="Privat"):
        self.Telefon.update({Typ: Telefon})
        self.EMail.update({Typ: EMail})
        
    def Alter(self):
        currentYear = datetime.date.today().year
        return currentYear - self.Geburtsdatum.year
        
adressbuch.append(Person("Müller","Hans",datetime.date(1995,4,1)))
adressbuch.append(Person("Mayer","Fritz",datetime.date(1998,8,4)))
adressbuch.append(Person("Weller","Annika",datetime.date(1997,11,10)))

adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [64]:
import datetime
currentYear = datetime.date.today().year
currentYear
Out[64]:
2018
In [67]:
adressbuch[0].Alter()
Out[67]:
23
In [68]:
adressbuch[2].Alter()
Out[68]:
21
In [69]:
import datetime
adressbuch = []

class Person(object):
    
    def __init__(self, Name, Vorname, Geburtsdatum, Geschlecht=None):
        self.Name = Name
        self.Vorname = Vorname
        self.Geburtsdatum = Geburtsdatum
        self.Geschlecht = Geschlecht
        self.Telefon = dict()
        self.EMail = dict()
        
    def setContactDetails(self, Telefon, EMail, Typ="Privat"):
        self.Telefon.update({Typ: Telefon})
        self.EMail.update({Typ: EMail})
        
    def Alter(self):
        today = datetime.date.today()
        age = today.year - self.Geburtsdatum.year
        if ((self.Geburtsdatum.month > today.month) or
            ((self.Geburtsdatum.month == today.month) and 
             (self.Geburtsdatum.day > today.day))):
            return age - 1  
        return age
        
adressbuch.append(Person("Müller","Hans",datetime.date(1995,4,1)))
adressbuch.append(Person("Mayer","Fritz",datetime.date(1998,8,4)))
adressbuch.append(Person("Weller","Annika",datetime.date(1997,11,10)))

adressbuch[0].setContactDetails(Telefon="4926589255",EMail="hmueller@gmx.de")
adressbuch[0].setContactDetails(Telefon="492658457485",EMail="hans.mueller@adobe.de",Typ="business")
adressbuch[1].setContactDetails(Telefon="015389944492",EMail="fritzm@web.de")
adressbuch[2].setContactDetails(Telefon="0161423274",EMail="annwel@1und1.de")
In [70]:
adressbuch[0].Alter()
Out[70]:
23
In [71]:
adressbuch[2].Alter()
Out[71]:
20
In [72]:
htmloutput = """<html>
<head></head>
<body>
<h1>Überschrift</h1>
<ul>
<li>erster Punkt</li>
<li>zweiter Punkt</li>
</ul>
</body>
</html>"""

from IPython.display import HTML
HTML(htmloutput)
Out[72]:

Überschrift

  • erster Punkt
  • zweiter Punkt
In [73]:
markdownoutput = """# Überschrift
## Untertitel

- erster Punkt
- zweiter Punkt
- dritter Punkt
"""

from IPython.display import Markdown
Markdown(markdownoutput)
Out[73]:

Überschrift

Untertitel

  • erster Punkt
  • zweiter Punkt
  • dritter Punkt
In [74]:
import sys
print(sys.argv)
['C:\\Users\\nikkl\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py', '-f', 'C:\\Users\\nikkl\\AppData\\Roaming\\jupyter\\runtime\\kernel-a3f0d8f5-e898-4d99-83fc-89301058d90d.json']
In [75]:
%%writefile test.py
import sys
print(sys.argv)
Writing test.py
In [76]:
!python test.py "erstes Argument" 2.Argument 3.14156
['test.py', 'erstes Argument', '2.Argument', '3.14156']