4.10 Dies und Das

Aufgaben

Übung

Erstellen Sie ein Programm zur Berechnung des Duchschnittsalters. Zuerst soll abgefragt werden, wie viele Angaben eingegeben werden (also über wie viele Studierende das Alter ermittelt werden soll). Anschließend soll so oft nach dem Alter gefragt werden und die Angaben sollen in einer Liste gespeichert werden. Und als letztes soll das Durchschnittsalter in einer Funktion ermittelt und über return an das Hauptprogramm übergeben werden.

Einfache Beispiele für Funktionen

1
2
3
4
5
6
def moin():
    print('Hello World!')

moin()
moin()
moin()
1
2
3
4
5
def addNumbers(a, b):
    sum = a + b
    print('Summe: ', sum)

addNumbers(3, 4)
1
2
3
4
5
6
def addNumbers(a, b):
    sum = a + b
    return sum

z = addNumbers(3, 4)
print('Summe: ', z)
1
2
3
4
5
6
7
8
def addNumbers(a, b):
    sum = a + b
    return sum

a = 3
b = 5
z = addNumbers(a, b)
print('Summe: ', z)
1
2
3
4
5
6
7
8
def addnumbers(a, b):
    sum = a + b
    return sum

x = 3
y = 5
z = addnumbers(x, y)
print('Summe: ', z)
1
2
3
4
5
6
7
def addnumbers(a, b):
    return(a + b)

a = 3
b = 5
z = addnumbers(a, b)
print('Summe: ', z)
1
2
3
4
5
6
def addnumbers(a, b):
    return(a + b)

a = 3
b = 5
print('Summe: ', addnumbers(a, b))

Was geht, aber total verrückt ist (bitte so nicht programmieren). Die Variablen a und b werden hier automatisch als globale Variablen verwendet. https://www.python-kurs.eu/python3_global_lokal.php

1
2
3
4
5
6
7
8
9
def addnumbers():
    sum = a + b
    return sum

# Hauptprogramm
a = 3
b = 5
z = addnumbers()
print('Summe: ', z)

Die Funktionen int() und isinstance()

Die Funktion int() in Python dient dazu, Werte in Ganzzahlen umzuwandeln.

Möchte man überprüfen, ob ein Wert schon ein Intager ist, verwendet man die Funktion isinstance().

# Überprüfung, ob eine Zahl ein Integer ist
zahl = 42.5

if isinstance(zahl, int):
    print(f"{zahl} ist ein Integer.")
else:
    print(f"{zahl} ist kein Integer.")

# Nun die Zahl in einen Integer umwandeln
zahl = int(zahl)

Einfache und doppelte Anführungszeichen

In Python können einfache (') und doppelte (") Anführungszeichen verwendet werden, um Stringn zu definieren. Beide Varianten verhalten sich gleich und haben dieselbe Funktionalität. Sie werden oft je nach Bedarf eingesetzt:

  • Einfache Anführungszeichen werden verwendet, wenn doppelte Anführungszeichen innerhalb der String auftreten, da so das Escapen von Zeichen vermieden werden kann.
  • Doppelte Anführungszeichen werden oft verwendet, wenn einfache Anführungszeichen im Text enthalten sind.

Beispiel:

text1 = 'Dies ist ein "Zitat" innerhalb eines Strings.'
text2 = "Hier ist ein Beispiel für ein einfaches 'Zitat'."

Drei Anführungszeichen

Für komplexere Stringn, wie etwa mehrzeilige Strings, können dreifache Anführungszeichen (''' oder """) verwendet werden. Sie sind besonders nützlich, um längere Texte und Dokumentationen (Docstrings) klar zu formatieren.

Python kennt '#' als Zeichen für einzeilige Kommentare. Es gibt aber nichts für mehrzeilige Kommentare (andere Programmiersprachen nutzen dann / ... /). In Python verwendet man dann mehrzeilige Strings (ohne diese einer Variablen zuzuweisen) als "Quasi-Kommentar"

def addiereZahlen(a, b):
    """
    Addiere zwei Zahlen und gebe das Ergebnis zurück.

    Diese Funktion nimmt zwei numerische Eingaben und gibt ihre Summe zurück.
    Sie eignet sich besonders für einfache Berechnungen und wird oft als Beispiel
    für Docstrings verwendet.

    Parameters:
        a (int, float): Die erste Zahl zum Addieren.
        b (int, float): Die zweite Zahl zum Addieren.

    Returns:
        int, float: Die Summe der beiden Zahlen.

    Hinweis:
        Diese Funktion ist nicht für Strings geeignet und erwartet nur numerische Werte.
    """
    return a + b

    # Interaktive Hilfe
    help(addiereZahlen)

Man kann in den Mehrzeilen-String auch Variablen einfügen. Hier zum Beispiel die Variable state.

# (c) Erstellen der HTML-Seite
response = f"""
    <!DOCTYPE html>
    <html>
    <body>
        <h2>Die LED ist: {state}</h2>
        <form action="./lighton">
            <input type="submit" value="Licht an" />
        </form>
        <br>
        <form action="./lightoff">
            <input type="submit" value="Licht aus" />
        </form>
    </body>
    </html>
    """

Anzahl abfragen, wie oft geblinkt werden soll

# Interne LED blinken lassen - mit Benutzereingabe
# J. Thomaschewski, 01.11.2024
from machine import Pin
from time import sleep

blinkCount = int(input("Wie oft soll die LED blinken? "))

led = Pin('LED', Pin.OUT)

for i in range(blinkCount):
    led.on()
    sleep(0.5)
    led.off()
    sleep(0.5)

Hier nun soll die Anzahl in einer Funktion addZahl() um 3 erhöht werden

# Interne LED blinken lassen - mit Benutzereingabe und erhöhter Blinkanzahl
# J. Thomaschewski, 01.11.2024
from machine import Pin
from time import sleep

# Funktion, die die Blinkanzahl um 3 erhöht und zurückgibt
def addZahl(blinkCount):
    return blinkCount + 3

blinkCount = int(input("Wie oft soll die LED blinken? "))
blinkCount = addZahl(blinkCount)

led = Pin('LED', Pin.OUT)

for i in range(blinkCount):
    led.on()
    sleep(0.5)
    led.off()
    sleep(0.5)

Variablenkonvertierung

Code Printergebnis Beschreibung
print(int(5)) 5 Integer in Integer umwandeln
print(int(8.7)) 8 Gleitkommazahl in Integer umwandeln (abschneiden)
print(float(6)) 6.0 Integer in Gleitkommazahl umwandeln
print(str(7)) '7' Integer in String umwandeln
print(str(10.5)) '10.5' Gleitkommazahl in String umwandeln
print(int("2")) 2 String, die eine Zahl enthält, in Integer umwandeln
print(float('4.2')) 4.2 String in Gleitkommazahl umwandeln
print(int("2a")) ValueError: ... Fehlermeldung, da String nicht rein numerisch ist
print(int("a2")) ValueError: ... Fehlermeldung, da String nicht rein numerisch ist

Arbeiten mit Zufallszahlen - Lottozahlen 6 aus 49

Versuchen Sie den Soucecode zu verstehen.

import random

# Erstelle eine Liste von Zahlen von 1 bis 49
zahlenListe = list(range(1, 50))

# Liste zum Speichern der gezogenen Lottozahlen. 
# Die Erstellung einer leeren Liste ist ein wichtiges Konzept!
lottoZahlen = []

# Ziehe 6 verschiedene Zahlen
for _ in range(6):

    # Wähle zufällig eine Zahl aus der Liste
    gezogeneZahl = random.choice(zahlenListe)
    # Füge die gezogene Zahl zur Lottozahlen-Liste hinzu
    lottoZahlen.append(gezogeneZahl)
    # Entferne die gezogene Zahl aus der Liste, damit sie nicht erneut gezogen wird
    zahlenListe.remove(gezogeneZahl)

# Sortiere die gezogenen Lottozahlen zur besseren Übersicht
lottoZahlen.sort()

# Ausgabe der gezogenen Lottozahlen
print("Die gezogenen Lottozahlen sind:", lottoZahlen)
Nerdwissen Eine kleine Knobelaufgabe...

Wie funktioniert dieser Sourcecode?

Wenn man nicht weiterkommt, dann kann man immer konkrete Werte einsetzen (und sich zum Beispiel auch Zufallszahlen ausdenken). Schwierige Zeilen durch das Hinzuziehen der Dokumentation (oder ChatGPT, wobei die Dokumentation für das tiefere Verständnis oft der bessere Weg ist). Im Sourcecode unten hatten wir z.B. range() noch nicht mit drei Argumenten. Die Dokumentation zu range() findet sich hier.

import random

# Programm zur zufälligen Anordnung sortierter Zahlen
print("Wie viele zufällige Zahlen sollen generiert werden?")
anzahlZahlen = int(input("Bitte Anzahl eingeben: "))

# Liste zum Speichern zufällig generierter Zahlen
zahlenListe = []

# Generiere die gewünschte Anzahl zufälliger Zahlen und füge sie zur Liste hinzu
for _ in range(anzahlZahlen):
    zufallsZahl = random.randint(1, 1000)
    zahlenListe.append(zufallsZahl)

# Ausgabe der generierten Zufallszahlen
print("Wir haben folgende Zufallszahlen gezogen:", zahlenListe)

# Eigene Funktion, um die Liste zufällig zu mischen
def customShuffle(liste):
    for i in range(len(liste) - 1, 0, -1):
        j = random.randint(0, i)
        liste[i], liste[j] = liste[j], liste[i]

# Sortier-Check-Variable und Versuchszähler initialisieren
istSortiert = False
anzahlVersuche = 0

# Zufälliges Mischen und Überprüfung, ob die Liste sortiert ist
while not istSortiert:
    # Zufälliges Anordnen der Liste mit customShuffle
    customShuffle(zahlenListe)
    istSortiert = True  # Annahme, dass die Liste sortiert ist

    # Gehe durch die Liste und überprüfe, ob sie wirklich sortiert ist
    for i in range(len(zahlenListe) - 1):
        if zahlenListe[i] > zahlenListe[i + 1]:
            istSortiert = False  # Wenn ein Element größer als das nächste ist, ist die Liste nicht sortiert
            break  # Überprüfung kann abgebrochen werden, Liste ist unsortiert

    # Versuchszähler erhöhen und Liste ausgeben
    anzahlVersuche += 1
    print(f"Versuch {anzahlVersuche}: {zahlenListe}")

# Ausgabe der Anzahl der Versuche, bis die Liste sortiert war
print(f"Die Liste ist sortiert! Anzahl der Versuche: {anzahlVersuche}")
print("Fertig!")

Listen in Strings umwandeln und umgekehrt in MicroPython

In MicroPython, wie auch in Python, ist die Konvertierung zwischen Listen und Zeichenketten eine häufige Aufgabe. Im Folgenden werden Methoden vorgestellt, um Listen in Strings und umgekehrt umzuwandeln.

Liste in String umwandeln

Um eine Liste von Zeichenketten in einen einzelnen String zu konvertieren, verwendet man die Methode join(). Diese Methode verbindet die Elemente der Liste zu einem String, wobei ein spezifisches Trennzeichen zwischen den Elementen eingefügt wird. Im folgenden Beispiel werden die Elemente der Liste wortListe mit einem Leerzeichen verbunden. Das Ergebnis ist der String 'Hallo Welt von MicroPython'.

1
2
3
4
5
6
7
# Liste von Wörtern
wortListe = ['Hallo', 'Welt', 'von', 'MicroPython']

# Verbinden der Liste zu einem String mit Leerzeichen als Trennzeichen
verbundenerString = ' '.join(wortListe)

print(verbundenerString)

Ausgabe:
Hallo Welt von MicroPython

Hinweis: Die Methode join() erwartet, dass alle Elemente der Liste vom Typ str sind. Falls die Liste andere Datentypen enthält, müssen diese zuvor in Strings umgewandelt werden.

# Liste mit verschiedenen Datentypen
gemischteListe = ['Temperatur:', 23, 'Grad']

# Umwandlung aller Elemente in Strings
stringListe = []
for element in gemischteListe:
    element = str(element)
    stringListe.append(element)

# Verbinden der Liste zu einem String mit Leerzeichen als Trennzeichen
verbundenerString = ' '.join(stringListe)

print(verbundenerString)
Ausgabe:
Temperatur: 23 Grad

Nerdwissen for-Schleife in einer Zeile

Folgende Scripte erzeugen die gleiche Ausgabe.

# Liste mit verschiedenen Datentypen
gemischteListe = ['Temperatur:', 23, 'Grad']

# Umwandlung aller Elemente in Strings
stringListe = []
for element in gemischteListe:
    element = str(element)
    stringListe.append(element)

# Verbinden der Liste zu einem String mit Leerzeichen als Trennzeichen
verbundenerString = ' '.join(stringListe)

print(verbundenerString)
# Liste mit verschiedenen Datentypen
gemischteListe = ['Temperatur:', 23, 'Grad']

# Umwandlung aller Elemente in Strings
stringListe = [str(element) for element in gemischteListe]

# Verbinden der Liste zu einem String mit Leerzeichen als Trennzeichen
verbundenerString = ' '.join(stringListe)

print(verbundenerString)

String in Liste umwandeln

Um einen String in eine Liste von Teilstrings zu zerlegen, verwendet man die Methode split(). Diese Methode teilt den String an einem angegebenen Trennzeichen und gibt die Teilstrings als Listenelemente zurück. Wenn kein Trennzeichen an split() übergeben wird, wird standardmäßig an Leerzeichen, Tabulatoren und Zeilenumbrüchen aufgeteilt.

1
2
3
4
5
6
7
# String mit Wörtern
satz = 'MicroPython ist großartig'

# Aufteilen des Strings in eine Liste von Wörtern
wortListe = satz.split(' ')

print(wortListe)

Ausgabe:
['MicroPython', 'ist', 'großartig']

Zeichenkette in Liste von Zeichen umwandeln:

Um einen String in eine Liste von einzelnen Zeichen zu zerlegen, kann die Funktion list() verwendet werden.

Beispiel:

1
2
3
4
5
6
7
# String
wort = 'MicroPython'

# Umwandeln des Strings in eine Liste von Zeichen
zeichenListe = list(wort)

print(zeichenListe)

Ausgabe: ['M', 'i', 'c', 'r', 'o', 'P', 'y', 't', 'h', 'o', 'n']

In diesem Fall wird der String wort in seine einzelnen Zeichen zerlegt und als Liste zurückgegeben.

Diese Methoden ermöglichen eine flexible Handhabung von Strings und Listen in MicroPython und sind nützlich für verschiedene Anwendungsfälle, wie z. B. das Parsen von Eingaben oder das Formatieren von Ausgaben.

Folgende Python-Funktionen haben wir somit kennen gelernt:

Funktion Beschreibung Beispiel Ausgabe
join() Verbindet eine Liste von Strings zu einem einzelnen String mit einem definierten Trennzeichen. ' '.join(['Hallo', 'Welt']) 'Hallo Welt'
split() Zerlegt einen String in eine Liste von Teilstrings anhand eines definierten Trennzeichens. 'MicroPython ist großartig'.split(' ') ['MicroPython', 'ist', 'großartig']
list() Wandelt einen String in eine Liste einzelner Zeichen um. list('MicroPython') ['M', 'i', 'c', 'r', 'o', 'P', 'y', 't', 'h', 'o', 'n']

Aufgabe: Kombination von Zahlenlisten addieren

Übung

Gegeben sind zwei Listen von Zahlen:

NumberA = [1, 2]
NumberB = [5, 6]

Schreibe ein Programm, das jede Zahl aus NumberA mit jeder Zahl aus NumberB kombiniert und die Summe ausgibt. Die Ausgabe soll das Format 1 + 5 = 6 haben.

Erwartete Ausgabe:
1 + 5 = 6
1 + 6 = 7
2 + 5 = 7
2 + 6 = 8

Lösung
1
2
3
4
5
6
NumberA = [1, 2]
NumberB = [5, 6]

for n in NumberA:
    for m in NumberB:
        print(n, " + ", m, " = ", n + m)

Visual Studio statt Thonny

Um von Thonny zu Visual Studio Code (VS Code) für die Programmierung des Raspberry Pi Pico mit MicroPython zu wechseln, folgen Sie diesen Schritten:

  1. VS Code installieren: Visual Studio Code Download.

  2. Pico-W-Go-Erweiterung in VS Code installieren

    • Öffnen Sie VS Code.

    • Klicken Sie auf Erweiterungen (linke Leiste unteres Symbol mit 3+1 Vierecke).

    • Suchen Sie nach "Pico-W-Go" und installieren Sie die Erweiterung.

  3. Projektordner einrichten

    • Öffnen Sie den Ordner in dem die bisherigen .py-Dateien liegen oder erstellen Sie einen neuen Ordner für Ihr Projekt.

    • Öffnen Sie diesen Ordner in VS Code über Datei > Ordner öffnen.

  4. Verbindung zum Raspberry Pi Pico herstellen

    • Pi Pico mit dem Computer verbinden.

    • Pico-W-Go sollte den Pico automatisch erkennen und eine Verbindung herstellen: unten rechts muss dann ein Haken sein.

  5. Code auf den Pico hochladen und ausführen: Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Pi-W-Go > Upload project", um den Code auf den Pico zu übertragen.

  6. Weitere Ressourcen: Run-Button unten links benutzen.

Hier der Link zur offizielle Dokumentation von Pico-W-Go.

PyCharm statt Thonny

Anleitungen auf der offiziellen Dokumentation von MicroPython. Ich habe es bei mir nicht zum Laufen bekommen.

Um von Thonny zu PyCharm für die Programmierung des Raspberry Pi Pico mit MicroPython zu wechseln, folgen Sie diesen Schritten:

  1. PyCharm installieren: PyCharm Community Edition Download. Pycharm ist für Studierende kostenlos.

  2. MicroPython-Plugin in PyCharm installieren:

    • Öffnen Sie PyCharm.

    • Gehen Sie zu Datei > Einstellungen (oder PyCharm > Einstellungen auf macOS).

    • Wählen Sie im linken Menü Plugins aus.

    • Suchen Sie im Marketplace nach "MicroPython" und installieren Sie das Plugin.

    • Starten Sie PyCharm neu, um die Installation abzuschließen.

  3. Projektordner einrichten:

    • Öffnen Sie den Ordner, in dem die bisherigen .py-Dateien liegen, oder erstellen Sie einen neuen Ordner für Ihr Projekt.

    • Öffnen Sie diesen Ordner in PyCharm über Datei > Ordner öffnen.

  4. MicroPython-Unterstützung im Projekt aktivieren

    • Gehen Sie zu Datei > Einstellungen > Sprachen & Frameworks > MicroPython.

    • Aktivieren Sie das Kontrollkästchen MicroPython-Unterstützung aktivieren.

    -...

  5. Code auf den Pico hochladen und ausführen:

    • Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Run 'Flash <Dateiname>', um den Code auf den Pico zu übertragen.

    • Die Konsole zeigt den Fortschritt des Uploads und eventuelle Ausgaben Ihres Programms an.

Python Online-Interpreter

Einfache Programmier-Videos

Wer gut programmieren kann, kann es auch ohne das Video schaffen! Hier die Spielregeln: https://www.gruppenspiele-hits.de/wenig-material-spiele/Die-verflixte-Eins.html

Besonderheit: man soll mindestens 51 Punkte insgesamt haben.

https://www.youtube.com/watch?v=21FnnGKSRZo Start bei 2:15 und Ende bei 23:45.

Wenn das Spiel programmiert wurde, dann sind hier folgende Erweiterungen möglich:

  • Anleitung auf deutsch schreiben

  • Für 1 – 3 Spieler:innen erstellen

  • Mit zwei Würfeln würfeln und bei „2“ oder „3“ verliert man die Punkte

Eingebaute Funktionen in Python

Python bietet eine Vielzahl eingebauter Funktionen, die häufige Aufgaben erleichtern. Im Folgenden sind einige dieser Funktionen thematisch gruppiert mit ihren Parametern und Anwendungsbeispielen aufgeführt.

Iteration

Funktion Parameter Beschreibung Beispiel
range() start (optional), stop, step (optional) Erzeugt eine Sequenz von Zahlen von start bis stop (exklusiv) mit dem Schritt step. range(1, 10, 2) erzeugt [1, 3, 5, 7, 9]

Umwandlungen

Funktion Beschreibung Beispiel
int() Wandelt in eine Ganzzahl um. int('10.6') gibt 10 zurück
float() Wandelt in eine Gleitkommazahl um. float('3.14') gibt 3.14 zurück
str() Wandelt in eine Zeichenkette um. str(100) gibt '100' zurück
bool() Wandelt ein Element in einen Booleschen Wert um. bool(1) gibt True zurück
list() Wandelt in eine Liste um. list('abc') gibt ['a', 'b', 'c'] zurück
dict() Erstellt ein Wörterbuch. dict(a=1, b=2) gibt {'a': 1, 'b': 2} zurück
join() Verbindet eine Liste von Strings zu einem String mit einem Trennzeichen. ' '.join(['Hallo', 'Welt']) gibt 'Hallo Welt' zurück
split() Zerlegt einen String anhand eines Trennzeichens in eine Liste von Teilstrings. 'MicroPython ist großartig'.split(' ') gibt ['MicroPython', 'ist', 'großartig'] zurück

Aggregation und Reduktion

Funktion Beschreibung Beispiel
sum() Gibt die Summe der Elemente zurück. sum([1, 2, 3]) gibt 6 zurück
min() Gibt das kleinste Element zurück. min(3, 1, 2) gibt 1 zurück
max() Gibt das größte Element zurück. max(3, 1, 2) gibt 3 zurück
all() Gibt True zurück, wenn alle Elemente wahr sind. all([True, True, False]) gibt False zurück
any() Gibt True zurück, wenn mindestens ein Element wahr ist. any([False, False, True]) gibt True zurück

Sonstige Funktionen

Funktion Beschreibung Beispiel
len() Gibt die Anzahl der Elemente zurück. len([1, 2, 3]) gibt 3 zurück
type() Gibt den Typ eines Elements zurück. type(42) gibt <class 'int'> zurück
abs() Gibt den absoluten Wert einer Zahl zurück. abs(-5) gibt 5 zurück
round() Rundet eine Zahl auf die angegebene Anzahl von Dezimalstellen. round(3.14159, 2) gibt 3.14 zurück
sort() Sortiert eine Liste direkt (in-place), d. h., die ursprüngliche Liste wird verändert. Siehe Beispiel unten
sorted() Gibt eine neue, sortierte Liste zurück, ohne die ursprüngliche Liste zu verändern. Dies ist besser und stabiler! Siehe Beispiel unten
map() Wendet eine Funktion auf jedes Element eines iterierbaren Objekts an. list(map(str, [1, 2, 3])) gibt ['1', '2', '3'] zurück

Beispiel sort() und sorted()

# Verwendung von sort() - verändert die ursprüngliche Liste
meineListe = [5, 3, 8, 1, 2]  # ursprüngliche Liste
meineListe.sort()  # jetzt ist meineListe sortiert.
print("Sortiert (In-Place):", meineListe)

# Rückwärtssortierung mit sort()
meineListe.sort(reverse=True)  # Sortiert die Liste rückwärts in-place
print("Rückwärtssortiert (In-Place):", meineListe)

# Verwendung von sorted() - erzeugt eine neue sortierte Liste
originalListe = [7, 4, 9, 3, 6]
sortierteListe = sorted(originalListe)  # Erstellt eine neue sortierte Liste
print("OriginalListe: ", originalListe)  # Unverändert
print("Sortierte Liste:", sortierteListe)  # Sortiert

# Rückwärtssortierung mit sorted()
rueckwaertsSortierteListe = sorted(originalListe, reverse=True)  # Erstellt eine neue rückwärtssortierte Liste
print("Rückwärtssortierte Liste:", rueckwaertsSortierteListe)

Ausgabe:
Sortiert (In-Place): [1, 2, 3, 5, 8]
Rückwärtssortiert (In-Place): [8, 5, 3, 2, 1]
OriginalListe: [7, 4, 9, 3, 6]
Sortierte Liste: [3, 4, 6, 7, 9]
Rückwärtssortierte Liste: [9, 7, 6, 4, 3]

Nerdwissen map()
Funktion Beschreibung Beispiel
map() Wendet eine Funktion auf jedes Element eines iterierbaren Objekts an. Siehe Beispiel unten

Schauen Sie sich das Beispiel in Ruhe an, denn map() ist richtig gut!

# Eine Funktion, um die Quadrate einer Zahl zu berechnen
def SquareNumber(x):
    return x ** 2

# Liste von Zahlen
numberList = [1, 2, 3, 4, 5]

# Verwenden von map() mit SquareNumber-Funktion
squaredList = list(map(SquareNumber, numberList))

print("OriginalList:", numberList)
print("SquaredList:", squaredList)

Ausgabe:
OriginalList: [1, 2, 3, 4, 5]
SquaredList: [1, 4, 9, 16, 25]