Weitere Aufgaben
In diesem Abschnitt finden Sie weitere Aufgaben und Challenges, mit denen Sie den Umgang mit 1D- und 2D-Listen weiter üben und vertiefen können.
Vermutlich haben Sie mit der Turtle schon einmal ein "Haus vom Nikolaus" programmiert. Hier zur Erinnerung der Algorithmus dazu:

Die Challenge: Schaffen Sie es, diese Zeichnung mit maximal 5 Zeilen Code (inkl. from turtle import *) zu erstellen?
Listen sind ein nützliches Werkzeug für diese Aufgabe.
Falls Sie das nicht bereits so gemacht haben: Schaffen Sie es auch mit nur 3 Zeilen Code?
- Dateiname
- EF-Informatik/exercises/listen-word-riddle.py
Gegeben ist ein ALPHABET und eine Nachricht MESSAGE. In der Nachricht sind die Indices der zugehörigen Buchstaben gespeichert. Schreiben Sie ein Programm, welches die Nachricht decodiert und in Buchstabenform darstellt.
ALPHABET = [' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
MESSAGE = [12, 9, 19, 20, 0, 18, 9, 4, 4, 12, 5]
- Dateiname
- EF-Informatik/exercises/listen-word-riddle2.py
Nun wurde eine weitere Zuordnungsstufe hinzugefügt 😮. In der MESSAGE steht, an welcher Stelle im MAPPING der Index steht, an welchem der gesuchte Buchstabe zu finden ist. Finden Sie die Nachricht?
ALPHABET = [' ', '_', '.', ':', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
MAPPING = [54, 58, 53, 4, 8, 60, 45, 60, 12, 41, 13, 47, 60, 4, 44, 56, 62, 4, 58, 47, 41, 60, 55, 3, 9, 45, 60, 10, 19, 2, 54, 62, 48, 54, 56, 18, 41, 53, 44, 4, 58, 43, 1, 50, 54, 13, 2, 2, 49, 6, 1, 59, 14, 58, 16, 4]
MESSAGE = [32, 5, 7, 15, 51, 23, 3, 13, 48, 2, 11, 29, 14, 6, 16, 1, 9, 0, 12, 46, 41, 22, 37, 17, 38, 25, 31, 18, 20, 30, 21, 39, 40, 36, 33, 26, 55, 53, 42, 49, 8, 52, 10, 27, 4, 24, 50, 44, 54, 28, 45, 35, 47, 43, 34, 19]
print() OptionenNormalerweise fügt die print-Funktion am Ende einer Ausgabe immer das Zeichen \n an, was von der Konsole als Steuerzeichen für eine neue Zeile interpretiert wird. Das können Sie aber auch ändern, indem Sie explizit vorgeben, welche Zeichen am Ende hinzugefügt werden:
# Mit Lücke zwischen einzelnen prints
for i in range(3):
print(f'Lücke {i}', end=' ')
# Ohne Zeichen zwischen einzelnen prints
for i in range(3):
print(f'Ohne {i}', end='')
# Fancy: mit Rakete und neuer Zeile zwischen einzelnen prints
for i in range(3):
print(f'Hello {i}', end=' 🚀\n')
- Dateiname
- EF-Informatik/exercises/primzahlen.py
Schreiben Sie ein Programm welches eine Liste mit allen Primzahlen zwischen 1 und 100 erstellt und diese Liste am Schluss auf der Konsole ausgibt.
Bevor Sie Programmieren: Diskutieren Sie Ihr Vorgehen mit einer Kolleg:in und besprechen Sie gemeinsam eine algorithmische Lösung für das Problem. Halten Sie hier stichwortartig fest, was Sie besprochen haben.