Workshop Programmierung
Dies ist der Workshop zum Programmierungsmodul des Online-Vorbereitungskurses Informatik der TU Dresden.
In diesem Modul lernt ihr die Grundkonzepte der Programmierung mit Python kennen und werdet dabei eure ersten Programme schreiben. Am Ende dieses Kurses weißt du, was Befehle, Parameter, Datentypen, Variablen, Operatoren, Verzweigungen und Schleifen sind und kannst sie in kleinen Programmen verwenden.
Links
Online-Vorbereitungskurs Informatik: https://tud.link/902w
oder alternativ https://dditools.inf.tu-dresden.de/ovk/progra/?o=0
E-learning Website W3Schools: https://www.w3schools.com/python/
Dokumentation Python 3.x: https://docs.python.org/3/
Thonny entdecken
Hier seht ihr den geöffneten Thonny und seine Komponenten, das Editorfenster, die Ausgabe und die Fenster zur Auswertung des Heaps z. B. und von Variablen.
print("Hallo Welt")
abs(-3)
aus, indem du auf Run klickst. Wie ändert sich das Verhalten deines Editors, wenn du stattdessen den Debugger benutzt? Probiere hier auch einmal die anderen Schaltflächen deines Debuggers aus.- Autovervollständigung
- Syntaxhervorhebung
- Hervorhebung zusammengehöriger Klammern


Parameter
Dieprint()
Funktion kann nicht nur einen sondern beliebig viele Parameter ausgeben. Es gibt auch Parameter, deren Namen du explizit angeben musst.
print(3,4,5)
print(3,4,5, sep="-")
Variablen
Mit Variablen können Datenwerte gespeichert und zu einem späteren Zeitpunkt wiederverwendet werden.a = 5
print(a)
3)a = 5
b = a
print(a, b)
a = 5
a = 76
print(a)
Operatoren
Operatoren sind Funktionen, die einen Datenwert zurückgeben. In Python kannst du die mathematischen Operatoren+
, -
, /
und *
verwenden, es gibt auch die logischen Operatoren and
, or
und not
.
x = 3 < 2
y = 3 + 2
z = 3 % 2
print("x: {0},\ny: {1},\nz: {2}".format(x,y,z))
print(x or y > 10)
Listen
Python kennt einige zusammengesetzte Datentypen, die dazu dienen zusammengehörige Datenwerte zu gruppieren. Ein solcher Datentyp ist Liste. Listen haben die Form[a, b, c, ..]
, wobei []
für eine leere Liste steht.x = [True, "Ferien", 25]
sind zulässig. In der Regel haben die Elemente aber denselben Typ, wie iny = [1,3,5,7]
oder inZ = ["Montag", "Dienstag", "Mittwoch"]
pop()
und range()
variiert?
l = list()
l.append(1)
l.pop()
print(l)
x = list(range(10))
y = list(range(2,16,2))
print("x: ", x)
Schleifen
Mit Schleifen können Anweisungen mehrmals hintereinander ausgeführt werden.
for i in range(3):
for j in range(3):
print("i: ", i, " j: ", j)
i=0
j=0
while i < 3:
while j < 3:
print("i: ", i, " j: ", j)
j+=1
i+=1
Verzweigungen
Verzweigungen dienen dazu, Anweisungen nur unter einer bestimmten Bedingung auszuführen, oder dann, wenn diese Bedingung nicht erfüllt ist. Nun benötigen wir also wieder unsere Operatoren!x
vom Benutzer einliest. Das Programm gibt dann zwei Listen aus, eine Liste aller geraden Zahlen bis einschließlich x
und eine Liste der ungeraden Zahlen.Du kannst hierfür die Funktion
input()
verwenden.Alles in einem Programm
In einem Sudoku-Puzzle dürfen die Ziffern von 1-9 in jeder Zeile und Spalte jeweils nur genau einmal vorkommen. Zusätzlich dürfen diese Ziffern in jedem 3x3 Unterquadrat auch nur jeweils einmal auftauchen.
Ob es sich bei unserem zufällig generierten Puzzle um ein gültiges Sudoku handelt, müssen wir also noch testen.

random.randint(a,b)
kann eine Zufallszahl zwischen a
und b
erzeugt werden.
import random
x = random.randint(0,9)
print(x)
Beispiele für Palindrome: 465, 8, 55