Zum Hauptinhalt springen
Version: 28EF

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.

Haus vom Nikolaus

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

Listen sind ein nützliches Werkzeug für diese Aufgabe.


Haus vom Nikolaus (noch kürzer)

Falls Sie das nicht bereits so gemacht haben: Schaffen Sie es auch mit nur 3 Zeilen Code?


Was steht geschrieben?
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]
Tipp
Meine Nummer 1
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]
Tipp
print() Optionen

Normalerweise 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')
Primzahlen
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.

Laden...
Laden...
Laden...
Laden...