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 = 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:
passwort
geht bis Zeile 15 ________________
while
mal falsch wird. Wie lautet die Bedingung? ________________________________________
_____________________________________
while
dafür, dass die Schleife auch mal beendet wird. Dieses Zusammenspiel zwischen Schleifenbedingung bei while
und Veränderung der Schleifenvariable in der Schleife (es geht zum Beispiel auch: i = i - 1
, aber nicht in unserem Skript, warum nicht? ___________________________
) ist typisch für eine while-Schleife! Und hier ein Testlauf:
Passwortabfrage ( 1 .ter Versuch)
Passwort: Hallo
Falsches Passwort zur falschen Zeit am falschen Ort!
Passwortabfrage ( 2 .ter Versuch)
Passwort: Kurs
Falsches Passwort zur falschen Zeit am falschen Ort!
Passwortabfrage ( 3 .ter Versuch)
Passwort: E2
SO wirst du NIE das Passwort erraten!
EVA steht fur Eingabe, Verarbeitung, Ausgabe. Versuche, ein Problem immer in drei Schritten anzugehen:
___________________
__________
, aber es gibt da noch wesentlich mehr! 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
Zahlvariable in der Schleife)
Abspeichern unter blues.py
3. Ein "richtiges" Passwort-Programm schreibt natürlich nicht das Kennwort lesbar in den Quelltext. Die Alternative bietet das Python-Modul hashlib, ein Beisiel via MD5 (md steht für message-digest) ist das kleine Programm passwort-md.py. Finde heraus, wie das Problem der Passwortspeicherung in diesem Skript gelöst wurde.
Hinweis: Auch MD5 ist keine sichere Verschlüsselung . . .
→ sp, 2023-07-26