IKG/Schleifen

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Python</language>
== 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[3]) liefert also ein '''n'''
Probiert es selber aus.


<run id="640a01e54aa87">
</run>


== 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.<br>

colors=['red','green','yellow','black']<br>
for x in colors:
print(x)
if x == 'green': break

<run id="637f68cec7ddf"></run>

== 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. 

<run id="63c94890a24b0"></run>

<!--

abc=abcdefghijklmnopqrstuvwxyz;
addition = 3;           
zahl = 0;               

print('Lieber Benutzer gib deine Nachricht ein'); 
klartext=input()

    for i in klartext          
   
      buchstabe = klartext[i]   
      zahl = Pos(buchstabe, abc);  ?????
       if zahl < 23:
               zahl = zahl + addition;
       if zahl > 23:
              zahl = zahl -26
              zahl = zahl + addition

       if zahl = 23:
         zahl = zahl + addition;
     
      schluesseltext = schluesseltext + abc[zahl];


       print(schluesseltext); 
            
-->