Schleifen
Inhaltsverzeichnis |
Strings und ihre Funktionen
Die einfachen Stringvariablen habt ihr schon kennengelernt. Zur Erinnerung: name = "Sonja". Strings liefern für die Programmierung eine Vielzahl an weiteren sehr nützlichen Funktionen. Eine davon ist die Möglichkeit mehrere Buchstaben und Wörter in einer String-Liste zu speichern. Diese Liste bezeichnet man auch als eindimensionales Array. Ein Array ist ein Feld, dass Werte nummeriert in festgelegte Bereiche speichert. Zum Beispiel: name = Sonja => der Computer speichert das folgendermaßen ab:
S o n j a
0 1 2 3 4
print(name[2]) liefert also ein n. Probiert es selber aus.
Man kann aber nicht nur Buchstaben in einem String-Array speichern sondern auch Wörter. Erstelle als Übung eine Liste klasse, die fünf Namen deiner Klassenkameraden beinhaltet. Um die Wörter in einem Array zu speichern, muss sie mit folgenden Klammern [] bündeln. klasse=['name1', 'name2'...]. Gib mit print(klasse[zahl]) jeden Namen nacheinander aus.
Schleifen
Schleifen sind in der Programmierung sehr wichtig, weil sie zum einen eine große Text- und Zeitersparnis darstellen und zum anderen durch ihre Verwendung komplexe Probleme gelöst werden können. Hierbei werden verschiedene Schleifenarten unterschieden. Es gibt zählergesteuerte Schleifen - for-Schleifen- und sogenannte Kopfgesteuerte Schleifen - while-Schleifen. In Python werden Bereiche die zusammen gehören eingerückt. Nach einem Doppelpunkt also immer die nächsten Zeilen mit TAB einrücken.
For-Schleife
Zählergesteuert bedeutet, das die Schleifen eine feste Länge haben. Entweder weil die Länge durch eine feste Liste bestimmt wird oder weil ein Ende bekannt ist.
Beispiel
Farbliste mit rot, gruen, gelbm schwarz soll nach gruen untersucht werden. Wenn gruen gefunden wird, dann ist die Suche beendet.
colors=['red','green','yellow','black']
for x in colors:
print(x)
if x == 'green': break
Die Funktion index() liefert den Zahlenwert der im Array hinter dem Wert liegt. Versuche dir den index von x aus colors mit colors.index(x) anzeigen zu lassen.
While-Schleife
While-Schleifen sind kopfgesteuerte Schleifen, die eine Abbruchbedingung benötigen. Das stellt auch ihre Schwierigkeit dar. Wenn die Abbruchbedingung nicht sorgsam überdacht ist, kann es zu einer Endlosschleife kommen, die den Arbeitsspeicher blockiert.
Beispiel Im Beispiel soll eine Integerzahl i zu Beginn gleich 1 sein.
In eine While-Schleife soll i bei jedem Durchgang um 1 erhöht werden -> i +=1 Vorher jedoch soll i mit print() ausgegeben werden, damit wir die Erhöhung überprüfen können. Die Abbruchbedingung soll i < 6 sein. Diese Bedingung wird bei der Definition der Schleife durch while i < 6: angegeben.
Cäsar - Verschlüsselung
Die Cäsar-Verschlüsselung ist die erste bekannt Verschlüsselungsverfahren, dass auf monoalphabetischer Substitution basiert. Das Verfahren arbeitet damit, den Buchstaben aus dem Alphabet Nummern zu geben und diese Nummern um eine feste Zahl zu erhöhen. Der Buchstabe an der Position der erhöhten Zahl liefert den neuen Buchstaben. Aus den neuen Buchstaben werden dann neue verschlüsselte Wörter gebildet.
1. Versuch die Verschlüsselung zunächst mit deinem Banknachbar aus. Einer verschlüsselt eine beliebige Nachricht, der Andere entschlüsselt die Nachricht.
2. Beobachtet euer Vorgehen genau und formuliert auf einem Schmierblatt euren Pseudocode.
3. Programmiert nun die Cäsar-Verschlüsselung
Zusatz: Schnelle Schüler können gerne noch eine Entschlüsselung programmieren.