PCEP-30-02 - PCEP - Certified Entry-Level Python Programmer Exam des Python Institute (OpenEDG)
PCEP-30-02 1.0 – Computerprogrammierung und Grundlagen von Python (18 %)
PCEP-30-02 1.1 - Grundlegende Begriffe und Definitionen verstehen
PCEP-30-02 1.2 – Logik und Struktur von Python verstehen
PCEP-30-02 1.3 – Literale und Variablen in Code einführen und verschiedene Zahlensysteme nutzen
PCEP-30-02 1.4 – Operatoren und Datentypen passend zum Problem wählen
PCEP-30-02 1.5 – Eingabe-/Ausgabe-Operationen in der Konsole durchführen
PCEP-30-02 2.0 – Kontrollfluss – Bedingte Blöcke und Schleifen (29%)
PCEP-30-02 2.1 – Entscheidungen treffen und den Programmfluss mit „if“ steuern
PCEP-30-02 2.2 – Verschiedene Arten von Iterationen durchführen
PCEP-30-02 3.0 – Datenkollektionen – Tupel, Dictionaries, Listen und Strings (25%)
PCEP-30-02 3.1 – Daten mit Listen sammeln und verarbeiten
PCEP-30-02 3.2 – Daten mit Tupeln sammeln und verarbeiten
PCEP-30-02 3.3 – Daten mit Dictionaries sammeln und verarbeiten
PCEP-30-02 3.4 – Mit Strings arbeiten
PCEP-30-02 4.0 – Funktionen und Ausnahmen (28%)
PCEP-30-02 4.1 – Code durch Funktionen modularisieren
PCEP-30-02 4.2 – Interaktion zwischen Funktion und Umgebung organisieren
PCEP-30-02 4.3 – Python Built-In Exceptions Hierarchie
PCEP-30-02 4.4 – Grundlagen der Fehlerbehandlung in Python
PCEP-30-02 – Prüfungssimulation
Python Übungsaufgabe: Passwortgenerator (Musterlösung)
Pseudo-Code:
Wiederhole unendlich:
Erstelle eine leere Zeichenliste
Abfrage:
Eingabe der Passwortlänge vom Benutzer
Konvertiere Eingabe in eine Ganzzahl
Falls Eingabe ungültig oder kleiner als 8:
Setze Passwortlänge auf 8
Gib eine Warnung aus
Erstelle eine Liste für das Passwort:
Füge eine zufällige Zahl hinzu
Füge ein zufälliges Sonderzeichen hinzu
Füge einen zufälligen Kleinbuchstaben hinzu
Füge einen zufälligen Großbuchstaben hinzu
Füge weitere zufällige Zeichen hinzu, bis die Anzahl der Zeichen erreicht wurde
Mische die Zeichenliste zufällig
Baue das Passwort als Zeichenkette zusammen
Gib das generierte Passwort aus
Falls Fehler:
Gib die Fehlernachricht aus
Python-Code:
# Python-Code:
import random
import string
while True:
zeichenliste = []
try:
anzahl_passwort_stellen = int(input("Wie lang soll das Zufallspasswort sein (Mindestens 8 Zeichen)?\n= "))
# Wurde eine gültige Zahl übergeben?
if not anzahl_passwort_stellen or type(anzahl_passwort_stellen) is not int or anzahl_passwort_stellen < 8:
anzahl_passwort_stellen = 8
print("Das Passwort muss mindestens 8 Zeichen lang sein. Daher wurde der Wert auf 8 gesetzt.\n")
# Erstelle eine Liste mit zufälligen Zeichen
for i in range(0, anzahl_passwort_stellen - 3):
# Mindestens ein Sonderzeichen, eine Zahl, sowie ein Klein- und Großbuchstabe im ersten Durchgang
if i == 0:
zeichenliste = [
random.randint(0, 9), # Ganzzahl hinzufügen
random.choice(string.punctuation), # Sonderzeichen hinzufügen
random.choice(string.ascii_lowercase), # Kleinbuchstabe hinzufügen
random.choice(string.ascii_uppercase) # Großbuchstaben hinzufügen
]
# Rest mit zufälligen Zeichen auffüllen
else:
zeichenliste.append(random.choice(string.printable))
# Mache die Reichenfolge der Zeichen zufällig
random.shuffle(zeichenliste)
# Baue das Passwort zusammen
passwort = ""
for i in zeichenliste:
passwort += str(i)
print("Das Passwort lautet:", passwort, "\n")
except Exception as error:
print(error)