0% fanden dieses Dokument nützlich (0 Abstimmungen)
12 Ansichten

python2_hand

Das Dokument behandelt die Grundlagen der Programmierung mit Python im Rahmen eines Vorsemesterkurses für Informatik. Es umfasst Themen wie Datentypen, Kontrollstrukturen, Funktionen, Gültigkeitsbereiche, Module sowie Dateioperationen und rekursive Programmierung. Zudem werden Beispiele zur Veranschaulichung der Konzepte gegeben.

Hochgeladen von

Test
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
12 Ansichten

python2_hand

Das Dokument behandelt die Grundlagen der Programmierung mit Python im Rahmen eines Vorsemesterkurses für Informatik. Es umfasst Themen wie Datentypen, Kontrollstrukturen, Funktionen, Gültigkeitsbereiche, Module sowie Dateioperationen und rekursive Programmierung. Zudem werden Beispiele zur Veranschaulichung der Konzepte gegeben.

Hochgeladen von

Test
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
Sie sind auf Seite 1/ 33

Programmierung mit Python

Programmierung mit Python

Vorsemesterkurs Informatik
Wintersemester 2024/25
Ronja Düffel

07. Oktober 2024

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Rückblick

Datentypen:
bool
Zahlen (int und float)
string

Variablen

Kontrollstrukturen
Verzweigungen (if...: und if...else:)
Schleifen (while...: und for...:)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Aggregierte Datentypen

Datentyp: Zusammenfassung von Objektmengen und der darauf definierten Operationen


z.B. die elementaren Datentypen bool, int, float

aggregierter Datentyp: Aus anderen (elementaren oder aggregierten) Datentypen


zusammengesetzter Datentyp.
um mehrere Daten die zusammengehören zu verwalten
in Python gibt es vordefinierte aggregierte Datentypen
z.B. set, tupel, dict, list

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Listen
mehrere Werte unter einem Variablennamen zusammengefasst
werden durch eckige Klammern [ ] angezeigt, Listenelemente werden durch Komma
getrennt.

auf einzelne Werte kann über den Index zugegriffen werden

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Listen

Operator/ Funktion Beschreibung


<list>[x] Zugriff auf Element mit Index x
<list>[x:y] Zugriff auf Teilliste von Index x bis y−1 (!!!)
<list> + <list> zusammenfügen von Listen
<list>.append(x) hinzufügen von x

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Funktionen

für Operationen die immer wieder gebraucht werden

+ Wiederverwertbarkeit

+ leichte Wartbarkeit

+ nur einmal schreiben

+ leicht auszutauschen

+ Übersichtlichkeit

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Funktionen

werden mit def-Anweisung definiert, Übergabeparameter in runden Klammern ( )


dahinter
Funktionsrumpf muss eingerückt sein
Ende der Funktion durch beenden der Einrückung
Schlüsselwort return beendet die Funktion und veranlasst Zuweisung des
Rückgabewerts
1 def add(a,b):
2 ’’’Addiere die Zahlen a und b’’’
3 return a+b

return-Anweisung ist optional. Hat die Funktion keinen Rückgabewert, so wird das
Objekt None zurückgegeben.

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Funktionen

Funktionsdefinition muss im Code (lexikalisch) vor dem Aufruf erfolgen

Übergabeparameter müssen beim Aufruf in der richtigen Reihenfolge angegeben


werden

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Beispiel:Parameterübergabe

1 def getNewBalance (now, spent, name):


2 amount = now - spent
3 owner = name
4 return ((owner, amount))
5
6 balance = getNewBalance(’Bob’, 500, 150)
7 print(balance)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Parameter benennen

1 def getNewBalance (now, spent, name):


2 amount = now - spent
3 owner = name
4 return ((owner, amount))
5
6 balance = getNewBalance(name=’Bob’, now=500, spent=150)
7 print(balance)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Fehlersuche

mit type() kann man sich den Datentyp einer Variablen ausgeben lassen

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Beispiel type()

1 # berechne Fläche eines Quadrats


2 side = input(’Seitenlänge in cm: ’)
3 area = side**2
4 print(’Flächeninhalt:’,area)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Beispiel type()

1 # berechne Fläche eines Quadrats


2 side = input(’Seitenlänge in cm: ’)
3 print(’debug:’,side, type(side))
4 area = side**2
5 print(’Flächeninhalt:’,area)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Ausgabe

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Gültigkeitsbereiche

Variablenname ist in dem Anweisungsblock gültig, in dem er definiert wird.

unterscheide zwischen lokalen (innerhalb Block/Funktion)


und globalen (auch außerhalb) Variablen

Verwendung globaler Variablen innerhalb von Funktionen mit global

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Module

Wiederverwendung von Funktionen in anderen Programmen :

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”

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Dateien lesen und schreiben

open() : öffnet eine Datei in angegebenem Modus


’r’: Lesemodus
’w’: Schreibmodus !Datei wird überschreiben !
’a’: Schreibmodus, neue Daten werden am Ende hinzugefügt

read() : Lese den Inhalt der Datei; komplett, oder die angegebene Anzahl an Bytes

write() : Schreibt Daten in Datei. Zeilenumbruch muss explizit angegeben werden

close() : schließt Datei.

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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!!!

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Beispiel

1 fo = open("/home/ronja/Demo/beispiel.txt","w") #Datei öffen zum


Schreiben
2 fo.write("Keine Angst. Das hat noch keiner überlebt")
3 fo.close()

Datei beispiel.txt
1 Keine Angst. Das hat noch keiner überlebt

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Beispiel

1 fo = open("/home/ronja/Demo/beispiel.txt","a") #Datei öffen zum


Schreiben
2 fo.write("Keine Angst. Das hat noch keiner überlebt")
3 fo.close()

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

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Rekursion

Um Rekursion zu verstehen,
muss man erstmal Rekursion verstehen

Methode etwas durch sich selbst zu definieren

Beispiel (Summe)
Die Funktion f : N → N sei gegeben durch

0, falls n = 0 Rekursionsanfang
f (n) :=
n + f (n − 1), sonst. Rekursionsschritt

Vorkurs Informatik - WS2024/25


Programmierung mit Python

rekursive Programmierung

Funktionen die sich selbst aufrufen (auch verschachtelt)


Abbruchbedingung muss auch erreicht werden (Gefahr der Endlosschleife)

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

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)

Vorkurs Informatik - WS2024/25


Programmierung mit Python

Fragen?

?
Vorkurs Informatik - WS2024/25

Das könnte Ihnen auch gefallen