Wiederholungen mit EVA


Wiederholungen

gibts nicht nur im TV, sondern auch beim Programmieren mit Python! Schauen wir uns folgendes Beispiel an:

1    def passwort():
2        i=1
3        eingabe = ''
4        while (i <= 3 and eingabe <> 'GEHEIM'):
5            # hier beginnt die Schleife
6            print 'Passwortabfrage (', i , '.ter Versuch)'
7            eingabe = raw_input('Passwort: ')
8            if (eingabe == 'GEHEIM'):
9                print 'Wir begruessen dich am Rechner Athena2222!'
10           elif (i == 3):
11               print 'SO wirst du NIE das Passwort erraten!'
12           else:
13               print 'Falsches Passwort zur falschen Zeit am falschen Ort!'
14           i = i + 1   # wichtig!!!
15           # hier endet die Schleife
16   # Test:
17   passwort()

Bemerkungen zu diesem Python-Skript:

Und hier ein Testlauf:

Passwortabfrage ( 1 .ter Versuch)
Passwort: **Hallo**
Falsches Passwort zur falschen Zeit am falschen Ort!
Passwortabfrage ( 2 .ter Versuch)
Passwort: **Klasse**
Falsches Passwort zur falschen Zeit am falschen Ort!
Passwortabfrage ( 3 .ter Versuch)
Passwort: **G10b**
SO wirst du NIE das Passwort erraten!

Programmieren mit EVA

EVA steht fur Eingabe, Verarbeitung, Ausgabe. Versuche, ein Problem immer in drei Schritten anzugehen:

  1. Eingabe: Überlege, welche Eingabe das Programm benötigt! Für die Eingabe hast du eine Python-Funktion, welche? ___________________
  2. Verarbeitung: Hier gilt es, zu denken (!). Du schreibst Funktionen, oder benutzt Python-Funktionen. Frage dich beim Schreiben der Funktion immer, brauche ich eine Variable, wenn ja, wofür, oder benötige ich eine Verzweigung, oder eventuell doch eine Schleife, weil etwas wiederholt wird?
  3. Ausgabe: Die Ausgabe ist wieder einfach, im Moment benutzen wir hierfür die Python-Funktion __________, aber es gibt da noch wesentlich mehr!

Aufgaben

  1. Versuche, das Passwort-Beispiel zum Laufen zu bringen. Versuche auch, eine Endlosschleife zu erzeugen, wie machst du das? (Davor unbedingt abspeichern!) Verändere auch die Schleifen-Bedingung (eingabe <> 'GEHEIM'), aber Vorsicht: ENDLOSSCHLEIFEN lauern überall!
    Verändere die Zeilen 8-13, kann man damit eine Endlosschleife erzeugen?
    Abspeichern unter passwort2.py

  2. Schreibe ein Programm, das folgende Ausgabe erzeugt:

    I like the blues!
      I like the blues!
        I like the blues!
          I like the blues!
            I like the blues!
              I like the blues!
                I like the blues!

    Tipp: Schreibe erst ein Programm, das folgende Ausgabe erzeugt:

    I like the blues!
    I like the blues!
    I like the blues!
    I like the blues!
    I like the blues!
    I like the blues!
    

    Hinweis: du brauchst mindestens eine Schleife! Benutze: ' '*i (i: deine Zählvariable in der Schleife)
    Abspeichern unter blues.py



→ sp, 2016-12-08