python2_hand
python2_hand
Vorsemesterkurs Informatik
Wintersemester 2024/25
Ronja Düffel
Rückblick
Datentypen:
bool
Zahlen (int und float)
string
Variablen
Kontrollstrukturen
Verzweigungen (if...: und if...else:)
Schleifen (while...: und for...:)
Aggregierte Datentypen
Listen
mehrere Werte unter einem Variablennamen zusammengefasst
werden durch eckige Klammern [ ] angezeigt, Listenelemente werden durch Komma
getrennt.
Listen
Listen
<list>.pop(x) Rückgabe und Löschen von Element mit Index x
del <list>[x] Löschen von Element mit Index x
<list>.remove(x) Löschen von Element x (1.Vorkommen!)
len(<list>) Länge der Liste
Funktionen
+ Wiederverwertbarkeit
+ leichte Wartbarkeit
+ leicht auszutauschen
+ Übersichtlichkeit
Funktionen
return-Anweisung ist optional. Hat die Funktion keinen Rückgabewert, so wird das
Objekt None zurückgegeben.
Funktionen
Beispiel:Parameterübergabe
Parameter benennen
Fehlersuche
mit type() kann man sich den Datentyp einer Variablen ausgeben lassen
Beispiel type()
Beispiel type()
Gültigkeitsbereiche
1 # Gueltigkeitsbereiche
2
3 x = 5
4 def sowas():
5 x = 0
6 print (’Wert von x in der Funktion:’,x)
7 return
8
9 print(’Wert von x vor Funktionsaufruf:’,x)
10 sowas()
11 print(’Wert von x nach Funktionsaufruf:’, x)
Gültigkeitsbereiche
1 # Gueltigkeitsbereiche
2
3 x = 5
4 def sowas():
5 global x
6 x = 0
7 print (’Wert von x in der Funktion:’,x)
8 return
9
10 print(’Wert von x vor Funktionsaufruf:’,x)
11 sowas()
12 print(’Wert von x nach Funktionsaufruf:’, x)
Gültigkeitsbereiche
1 # Gueltigkeitsbereiche
2 x = 5
3 y = 2
4 def sowas():
5 global x
6 x = 0
7 z = x - y
8 print (’Wert von x in der Funktion:’,x)
9 print(’Wert von z in der Funktion:’, z)
10 return
11 print(’Wert von x vor Funktionsaufruf:’,x)
12 sowas()
13 print(’Wert von x nach Funktionsaufruf:’, x)
Gültigkeitsbereiche
1 # Gueltigkeitsbereiche
2 x = 5
3 y = 2
4 def sowas():
5 global x
6 x = 0
7 z = x - y
8 print (’Wert von x in der Funktion:’,x)
9 print(’Wert von z in der Funktion:’, z)
10 return
11 print(’Wert von x vor Funktionsaufruf:’,x)
12 sowas()
13 print(’Wert von x nach Funktionsaufruf:’, x)
14 print(’Wert von z nach Funktionsaufruf:’,z)
Ausgabe
Gültigkeitsbereiche
Module
import
import <Modulname> (Dateiname ohne .py)
Verwendung durch <Modulname>.<Funktionsname>
(kein Namenskonflikt)
from <Modulname> import <Funktionsname/n)>
Verwendung durch <Funktionsname>
(!gleichnamige Funktionen werden überschrieben!)
from <Modulname> import ∗
Alles wird importiert, gefährlich aber “bequem”
Beispiel import
Datei: rechnen.py
1 def add(a,b):
2 ’’’Addiere die Zahlen a und b’’’
3 return a+b
4
5 def summe(n):
6 ’’’berechnet die Summe der ersten n natürlichen Zahlen’’’
7 ergebnis = 0
8 for i in range(n+1):
9 ergebnis += i
10 return ergebnis
Beispiel import
Programm, mit dem die Summe der ersten n natürlichen Zahlen berechnet werden kann
1 import rechnen # importiere Modul rechnen
2
3 while True:
4 a = input("Geben Sie eine Ganzzahl > 0 ein: ")
5 if a.isdigit():
6 break
7
8 a_int = int(a)
9 result = rechnen.summe(a_int)
10 print("Die Summe von 1 bis", a ,"ist:",result)
Beispiel import *
1 from rechnen import * # importiere alles von Modul rechnen
2 def summe(a,b):
3 return(a + b)
4
5 while True:
6 a = input("Geben Sie eine Ganzzahl > 0 ein: ")
7 if a.isdigit():
8 break
9 a_int = int(a)
10 result = summe(a_int)
11 print("Die Summe von 1 bis", a ,"ist:",result)
Beispiel import *
1 import rechnen # importiere Modul rechnen
2 def summe(a,b):
3 return(a + b)
4
5 while True:
6 a = input("Geben Sie eine Ganzzahl > 0 ein: ")
7 if a.isdigit():
8 break
9 a_int = int(a)
10 result = rechnen.summe(a_int)
11 print("Die Summe von 1 bis", a ,"ist:",result)
12 summe = summe(a_int,6)
13 print("Die Summe von", a ,"und 6 ist:",summe)
read() : Lese den Inhalt der Datei; komplett, oder die angegebene Anzahl an Bytes
Beispiel
1 # Dateizugriff
2
3 fo = open("/home/ronja/Demo/beispiel.txt","w") #Datei öffen zum
Schreiben
4 fo.write("Nun zieren Sie sich doch nicht so! \n")
5 fo.write("""Sie haben doch einen Spenderausweis.
6
7 Aber das ist doch nur im Todesfall!!!""") #mehrzeilig ohne \n-Angabe
8 fo.close() #Datei schliessen
Datei beispiel.txt
1 Nun zieren Sie sich doch nicht so!
2 Sie haben doch einen Spenderausweis.
3
4 Aber das ist doch nur im Todesfall!!!
Beispiel
Datei beispiel.txt
1 Keine Angst. Das hat noch keiner überlebt
Beispiel
Datei beispiel.txt
1 Nun zieren Sie sich doch nicht so!
2 Sie haben doch einen Spenderausweis.
3
4 Aber das ist doch nur im Todesfall!!!Keine Angst. Das hat noch
keiner überlebt
Rekursion
Um Rekursion zu verstehen,
muss man erstmal Rekursion verstehen
Beispiel (Summe)
Die Funktion f : N → N sei gegeben durch
0, falls n = 0 Rekursionsanfang
f (n) :=
n + f (n − 1), sonst. Rekursionsschritt
rekursive Programmierung
1 # Summe rekursiv
2
3 def sum_rek(n):
4 if n==0:
5 return 0
6 else:
7 return n + sum_rek(n-1)
Beispiel Summe
1 # Summe iterativ
2
3 def sum_iter(n):
4 result = 0
5 for i in range(n+1):
6 result += i
7 return result
1 # Summe rekursiv
2
3 def sum_rek(n):
4 if n==0:
5 return 0
6 else:
7 return n + sum_rek(n-1)
Fragen?
?
Vorkurs Informatik - WS2024/25