2. Einführung in die Programmierung für Nicht Informatiker*innen¶
+Bitte ihre Jupyter Kennung + Vor- & Nachnamen unter folgendem link eintragen survey
+Beispiele Print¶
+# Beispiel Print
+print("Hallo", "Python", end='\n') # Zeigen wie end Funktioniert
+print("Freitag 15h") # Ausgabe mittels print
+
Hallo Python +Freitag 15h ++
"Hallo Python" # direkte ausgabe einer Variablen oder Wert
+
'Hallo Python'+
432423654645
+
432423654645+
Variablen zuweisungen¶
+zahl1 = 42 # 'zahl1' speichert den Wert '42'
+zahl1
+
42+
print(zahl1) # Ausgabe der Variabeln mittels print
+
42 ++
zahl2 = 420
+zahl2
+
420+
Operationen mit Integern (gilt auch für Floats)¶
+zahl1 + zahl2 # Addition
+
462+
zahl1 - zahl2 # Subtraction
+
-378+
zahl2 - zahl1 # Order matters
+
378+
zahl2 * zahl1 # Multiplikation
+
17640+
zahl2 / zahl1 # Division
+
10.0+
2**4 # Exponentiation
+
16+
float1 = 42.42 # Fließkommzahl speichern
+float1
+
42.42+
zahl2 // zahl1 # Ganzzahldivision
+
10+
42 % 2 # Modulo (Rest einer Division)
+
0+
divmod(42, 2) # Kombinierte Built-in funktion, welche den Wert der Ganzzahldivision und den Rest berechnet
+
(21, 0)+
42 / 2
+
21.0+
42 % 2
+
0+
0.1 + 0.2 # Addition von Floats sind nicht immer akkurat
+
0.30000000000000004+
Booleans¶
+0.1 + 0.2 == 0.3 # Nicht richtig aufgrund der unkorrekten binären darstellung von floats
+
False+
True
+
True+
False
+
False+
True + True # Bools sind auch nur Zahlen (True = 1, False = 0)
+
2+
Listen¶
+l = ["Hallo Python", 42, 10.10] # Erstellen einer Liste mit 3 elementen
+l
+
['Hallo Python', 42, 10.1]+
l.append("Text") # Weiteres Element an die liste anfügen
+l
+
['Hallo Python', 42, 10.1, 'Text']+
l
+
['Hallo Python', 42, 10.1, 'Text']+
g = l[2] # Zugriff auf das dritte Element der Liste
+g
+
10.1+
l[0] # Zugriff erstes element der Liste
+
'Hallo Python'+
l[-3] # Auff listen lässt sich auch 'rückwärts' zugreifen
+
42+
l.remove('Text') # Einen Wert aus der Liste entfernen
+l
+
['Hallo Python', 42, 10.1]+
Strings¶
+str1 = 'Tex"t' # String mit ''
+str1
+
'Tex"t'+
str2 = "Text'2" # String mit ""
+str2
+
"Text'2"+
# Documentation Strings oder mehrzeillige Strings
+str3 = '''
+Hallo dies ist ein
+echt langer
+nicht formattierter
+text!!!! ' "
+
+'''
+str3 # Ausgabe mit escape Characters
+
'\nHallo dies ist ein \necht langer \nnicht formattierter \ntext!!!! \' "\n\n'+
print(str3) # "Hübsche" Ausgabe
+
+Hallo dies ist ein +echt langer +nicht formattierter +text!!!! ' " + + ++
str1[2] # Strings sind auch nur Listen
+
'x'+
f"{str1} ist ein text" # F-String formatierung
+
'Tex"t ist ein text'+
"{} ist ein text".format(str1) # Formatierung mittels format funktion
+
'Tex"t ist ein text'+
Tuples¶
+tuple1 = (42, 10.10) # Tuple erstellen
+tuple1
+
(42, 10.1)+
tuple1[0] # auf element des Tupels zugreifen
+
42+
tuple1.append(1) # Tuples sind unveränderlich (immutable) daher können nicht einfach elemente angefügt werden
+
+--------------------------------------------------------------------------- +AttributeError Traceback (most recent call last) +Cell In[40], line 1 +----> 1 tuple1.append(1) # Tuples sind unveränderlich (immutable) daher können nicht einfach elemente angefügt werden + +AttributeError: 'tuple' object has no attribute 'append'+
Dictionarys¶
+dict1 = {"Name": "Phil", "Key": 42} # Dictionary erstellen
+dict1
+
{'Name': 'Phil', 'Key': 42}+
dict1["Key"] # Zugriff auf element des Dicts mittels Schlüssel
+
42+
dict1["Key2"] = 10 # neues Element in das Dict einfügen
+dict1
+
{'Name': 'Phil', 'Key': 42, 'Key2': 10}+
Sets¶
+set1 = {1, 1, 2, 2, 3, 3, 4} # Set erstellen
+set1 # Sets haben ausschließlich einzigartige Elemente
+
{1, 2, 3, 4}+
Conditionals¶
+42 % 2 == 0 # Prüfen auf equality
+
True+
# Unterschiedlichen Code ausführen je nach Bedingung
+zahl = 32
+if zahl % 2 == 1: # ist die zahl Gerade?
+ print("Ist Ungerade") # Wenn Ja
+else:
+ print("Ist Gerade") # Wenn Nein
+
Ist Gerade ++
# Argument "verneinen"
+zahl = 32
+if not zahl % 2 == 1: # Ist die zahl nicht gerade?
+ print("Ist Gerade") # Wenn Ja (Zahl nicht gerade -> Zahl gerade)
+else:
+ print("Ist Ungerade") # Wenn Nein
+
Ist Gerade ++
if 42 % 2 == 0 and 36 % 2 == 1: # Und verknüpfung alle bedingungen müssen wahr sein
+ print("Sind beide Gerade")
+
True and False
+
False+
if 42 % 2 == 0 or 36 % 2 == 1: # Oder Verknüpfung eine oder mehrere Bedingungen müssen wahr sein
+ print("Eine Zahl ist Gerade")
+
Eine Zahl ist Gerade ++
True or False
+
True+
False or False
+
False+
True or True
+
True+
# Verschiedene Bedingungen mit verschiedenen Ausgaben
+zahl = 10
+
+if zahl % 3 == 0: # zahl durch 3 teilbar?
+ print("Zahl ist durch 3 glatt teilbar")
+elif zahl % 5 == 0: # Zahl durch 5 teilbar?
+ print("Zahl ist durch 5 glatt teilbar")
+else: # Weder noch (Base Case)
+ print("Zahl ist nicht durch 3 oder 5 teilbar")
+
Zahl ist durch 5 glatt teilbar ++
zahl = 90.0
+isinstance(zahl, float) # Prüfen ob eine variable einem der Datentypen entspricht (hier float)
+
True+
Funktionen¶
+def f(x): # Einleiten einer Funktion
+ ''' Berechnet das quadrat einer Zahl''' # Docstring zum beschreiben der Funktion
+ # .... irgendeine Berechnung
+ rückgabewert = x*x # ist der rückgabewert
+ return rückgabewert #
+
f(7)
+
49+
While Loops¶
+i = 0 # Condition
+while i < 10: # Prüfung
+ print(i, "Hallo Python")
+ i = i + 1 # Anpassung
+
0 Hallo Python +1 Hallo Python +2 Hallo Python +3 Hallo Python +4 Hallo Python +5 Hallo Python +6 Hallo Python +7 Hallo Python +8 Hallo Python +9 Hallo Python ++
99 Bootles of Beer¶
+# Vereinigung aller heute gelernten Dinge außer der Funktions Definition
+
+# 99 Bootles of Beer
+beer = 99
+while beer > -1:
+ print()
+ if beer == 0:
+ print('''
+ No more bottles of beer on the wall, no more bottles of beer.
+ We've taken them down and passed them around;
+ now we're drunk and passed out!
+ ''')
+ elif beer == 1:
+ print(beer, "bottle of beer on the wall,", beer, "bottle of beer.")
+ print("Take one down and pass it around, no more bottles of beer on the wall.", end='')
+ else:
+ print(beer, "bottles of beer on the wall,", beer, "bottles of beer.")
+ if beer - 1 == 1:
+ print(f"Take one down and pass it around, {beer - 1} bottle of beer on the wall.")
+ else:
+ print(f"Take one down and pass it around, {beer - 1} bottles of beer on the wall.")
+
+ beer -= 1
+
+# Ausgabe ist zu groß für Slides
+