Computerlyrik von Bernd von 1985, rekonstruiert

Bernd

Foren-Redakteur
Teammitglied
Wenn der Kyborg laut gegen die Treppe springt,
jubelt seine Soundkarte hell,
weil sie sich vorsichtig synchronisiert.

Wenn der Kyborg hektisch gegen die Treppe tritt,
zittert sein Prozessor leise,
weil er sich langsam repariert.

Wenn der Kyborg vorsichtig gegen die Treppe stößt,
summt sein Bildschirm klar,
weil er sich ruhig orientiert.

Wenn der Kyborg laut gegen die Treppe kracht,
arbeitet seine Software schnell,
weil sie sich effizient reorganisiert.


---



---
Um 1985 schrieb ich ein Computerlyrik-Programm.

Beispiel für Gedichte:

Wenn der Hase aus Kübeln lugt,
regnet der Himmel auf Ameisenhaufen.
Aber die Wolken lachen dabei.

Um so ein Gedicht zu erzeugen, schrieb ich eine Gedichtbeschreibungssprache.
Rekonstruktion:

Beginn:
Dada-Gedicht-Generator. Er geht so: 1. Bilde die Struktur. "ABChf" Zeichenkette a,b,c ... Variablen. Dahinter kommt der Typ: aV Variable a ist ein Verb. aS Substantiv aA Adjektiv aU Umstandswort, Adverb aP Pronomen aF Fragewort


---

Blitzschnell wackelt der Satellit und kracht,
die Antenne vibriert geschmeidig,
weil er sich neu kalibriert,
und dabei in Frequenzen verliert.

Mühsam wackelt die Treppe und stößt,
die Antenne beepst dumpf,
weil sie synchronisiert absigniert,
weil der Sender sich synchronisiert.

Plötzlich rennt das Funksignal und rennt,
der Bordcomputer knistert geschmeidig,
weil es der Funk rebelliert,
und in den Daten gravitiert.

---
Letzte Version:

Ach, die Galaxie verfault plötzlich und flimmert prickelnd.
Klabum, die Idee schwebt spielend und wirbelt aufsteigend.
Boah, der Algorithmus reflektiert sanft und prasselt verwest.
Aah, der Stern strahlt schleichend und verdichtet vibrierend.

Geh, die KI des Universums lebt lästig und brodelt schimmernd.
Wow, die Weltraumzeit entsteht gleitend und strömt rotierend.
He, der Pilz im System kompiliert wirbelnd und quillt lebendig.
Ei, ei ei, die Zelle der Galaxie wächst kreiselnd und schwellt intensiv.

Oje, die Galaxie der Sterne dehnt flackernd und glüht tropfend.
Tja, der Quasar berechnet unaufhörlich und wabert blitzend.
Yay, das Genom zerstiebt leise und zuckt flammend.

Puh, die Singularität blüht auf fließend und spritzt wabernd.
Juchhu, der Algorithmus der Zellen stürzt getrieben und zerfließt irisierend.
Nanu, die KI explodiert zitternd und kreist kreisend.
 
Zuletzt bearbeitet:

Bernd

Foren-Redakteur
Teammitglied
Referenzmanual – Version 1.1
Einführung
Dieses Dokument beschreibt die Funktionsweise und Spezifikationen des Programms zur dynamischen Generierung von Science-Fiction-Sonetten. Version 1.1 enthält mehrere Verbesserungen und neue Funktionen, die in diesem Manual dokumentiert sind.

Änderungen in Version 1.1
1. Zeilenumbrüche in der Ausgabe
  • Jeder Teilvers wird nun in einer eigenen Zeile ausgegeben.
  • Zwischen den Versen gibt es jetzt zwei Leerzeilen zur besseren Lesbarkeit.
  • Auch der letzte Vers wird mit einem Zeilenumbruch versehen, um die Einheitlichkeit zu wahren.
2. Vermeidung doppelter Reimwörter
  • Jeder Reimsatz (Folgesatz) wird nur einmal pro generiertem Sonett verwendet.
  • Die Reimsätze werden vor der Generierung gemischt und nacheinander entnommen.
3. Einführung variabler Nachsätze
  • Neben den bestehenden Reimsätzen gibt es nun einen zusätzlichen variablen Nachsatz.
  • Diese Nachsätze erweitern die kreativen Möglichkeiten und verhindern zu gleichförmige Sonette.
  • Beispiele für neue Nachsätze:
    • „und dabei in Frequenzen verliert“
    • „bis das Muster sich integriert“
    • „während der Code sich kristallisiert“
    • „weil die Matrix es notiert“
Grundlegende Funktionsweise
Das Programm erzeugt ein Sonett mit 14 Versen, wobei jeder Vers eine zufällige Kombination aus:

  1. Subjekt (z. B. „der Bordcomputer“, „die Antenne“)
  2. Verb (z. B. „kracht“, „zittert“)
  3. Reaktion (z. B. „leuchtet“, „vibriert“)
  4. Reaktionsattribut (z. B. „kosmisch“, „grell“)
  5. Reimsatz (z. B. „weil {pronomen} sich neu kalibriert“)
  6. Nachsatz (z. B. „bis das Chaos eskaliert“)
Zusätzlich wird nach der siebten Zeile eine zufällige Beobachterfigur eingefügt, die das Geschehen kommentiert (z. B. „Das sieht die KI nachdenklich und sagt: ‚Das ist Kunst!‘“).

Technische Umsetzung
Die Änderungen wurden im Code folgendermaßen implementiert:

  • Listen für Reimsätze und Nachsätze wurden getrennt, sodass keine Dopplungen vorkommen.
  • Die Listen werden zufällig gemischt, um Wiederholungen innerhalb eines Sonetts zu vermeiden.
  • Das Ausgabeformat wurde angepasst, um eine bessere Lesbarkeit zu gewährleisten.
  • Einheitliche Zeilenumbrüche wurden in den gesamten Text eingeführt.
Fazit
Version 1.1 verbessert die Lesbarkeit der generierten Sonette erheblich, sorgt für abwechslungsreichere Reimschemata und erweitert die Ausdrucksmöglichkeiten durch variable Nachsätze. Damit ist das Programm nun noch besser für die Erzeugung einzigartiger Science-Fiction-Poesie geeignet.

Referenzmanual für die Dada-Lyrik-Beschreibungssprache – Version 1.1
Einleitung
Die Dada-Lyrik-Beschreibungssprache ist ein parametrisiertes System, um dadaistische Gedichte zu erzeugen. Sie kombiniert feste und zufällige Elemente sowie eine Vielzahl von Variablen, um kreativ experimentelle Lyrik zu generieren. Mit ihrer Flexibilität können rekursive Strukturen, Themenparameter und Kongruenzregeln eingebaut werden, um Gedichte dynamisch und vielseitig zu gestalten.

Struktur der Beschreibungssprache
Variable Typen
  • aV: Verben
    • aVG: Gegenwart (z. B. läuft, springt)
    • aVV: Vergangenheit (z. B. lief, sprang)
    • aVF: Futur (z. B. wird laufen, wird springen)
    • aVK: Konjunktiv (z. B. liefe, spränge)
    • aVP: Partizip (z. B. gelaufen, gesprungen)
    • aVI: Infinitiv (z. B. laufen, springen)
    • aVA: Aktiv (z. B. er läuft)
    • aVPas: Passiv (z. B. es wird gelaufen)
  • aS: Substantive
    • aSS: Singular (z. B. Apfel)
    • aSP: Plural (z. B. Äpfel)
    • aSE: Eigennamen (z. B. Dresden, Anna)
  • aA: Adjektive
    • aAB: Basisform (z. B. schön)
    • aASt: Steigerung (z. B. schöner)
    • aASp: Superlativ (z. B. am schönsten)
  • aU: Umstandswörter (Adverbien) (z. B. schnell, leise, laut)
  • aP: Pronomen
    • aPS: Subjektpronomen (z. B. ich, er)
    • aPO: Objektpronomen (z. B. mich, ihn)
    • aPP: Possessivpronomen (z. B. mein, dein)
  • aF: Fragewörter (z. B. wer, was, warum)
  • aT: Artikel
    • aTD: Definitiv (z. B. der, die, das)
    • aTI: Indefinitiv (z. B. ein, eine)
  • aZ: Zahlen
    • aZN: Ganze Zahlen (z. B. zwei, hundert)
    • aZF: Fließkommazahlen (z. B. 1,5 oder 0,9)
    • aZOr: Ordinalzahlen (z. B. erster, zweiter)
  • aK: Konjunktionen
    • aKC: Koordinierend (z. B. und, oder)
    • aKS: Subordinierend (z. B. weil, wenn)
  • aC: Präpositionen
    • aCL: Lokal (z. B. in, auf)
    • aCT: Temporal (z. B. seit, während)
    • aCM: Modal (z. B. mit, ohne)
Erweiterte Funktionalitäten
  • Rekursive Strukturen ermöglichen komplexe Abfolgen von Aktionen.
  • Kongruenzregeln stellen sicher, dass Pronomen und Artikel mit dem Subjekt übereinstimmen.
  • Themenparameter erlauben die Einschränkung auf spezifische Wortbibliotheken (z. B. Technologie, Kosmos).
Präsentationsformat
Gedichte können nacheinander mit kurzen Pausen angezeigt werden, um den Leser zu überraschen und zum Nachdenken anzuregen.

Credits
Autoren: Hutschi (Ideen und ursprüngliches Konzept aus den 1980er Jahren), Copilot (Unterstützung bei Modernisierung und Generierung der Beispiele).
 
Zuletzt bearbeitet:

Bernd

Foren-Redakteur
Teammitglied
Als Python-Programm rekonstruiert, von ChatGPT:


import random

# Wortlisten für die Gedichtstruktur
substantive = ["Toaster", "Kacheln", "Heizelement", "Frühstückstisch", "Hamster", "Satellit", "Meteoritenschauer", "Antenne", "Solarmodul", "Bordcomputer", "Kyborg", "Treppe", "Gelenk", "Display", "Katze"]
verben_gegenwart = ["kracht", "prallt", "rennt", "stößt", "wackelt", "zittert", "leuchtet"]
verben_reaktion = ["surrt", "knistert", "knackt", "zittert", "leuchtet"]
reaktionen = ["heiß", "elektrisch", "dumpf", "leicht", "grell"]
folgen = ["sich neu kalibriert", "ein Funksignal abfängt", "sich langsam repariert", "sich synchronisiert"]
beobachter = ["Hamster", "Bordcomputer", "Katze", "Roboter", "Mensch"]
emotionen = ["erschrocken", "analytisch", "genervt", "begeistert", "nachdenklich"]
gerauesche = ["KRACH", "surr", "pling", "wumm", "piep"]
dialoge = ["Oh je!", "Das war klar.", "Das ist Kunst!", "Unfassbar …", "Ich schreib ein Gedicht darüber."]

def generate_gedicht():
sub1 = random.choice(substantive)
sub2 = random.choice(substantive)
verb1 = random.choice(verben_gegenwart)
verb2 = random.choice(verben_reaktion)
reaction = random.choice(reaktionen)
folge = random.choice(folgen)
beob = random.choice(beobachter)
emo = random.choice(emotionen)
geraeusch = random.choice(gerauesche)
dialog = random.choice(dialoge)

gedicht = (f"Wenn der {sub1} gegen die {sub2} {verb1},\n"
f"{geraeusch}! {verb2} sein {sub2} {reaction},\n"
f"weil es {folge}.\n"
f"Und währenddessen {verb1} der {sub2} {reaction}.\n"
f"Das sieht der {beob} {emo},\n"
f"sagt er: \"{dialog}\".")

return gedicht

# Generiere und drucke ein zufälliges Dada-Gedicht
for _ in range(3):
print(generate_gedicht())
print("\n---\n")



Wenn der Kyborg gegen die Toaster prallt,
wumm! zittert sein Toaster heiß,
weil es ein Funksignal abfängt.
Und währenddessen prallt der Toaster heiß.
Das sieht der Roboter nachdenklich,
sagt er: "Das ist Kunst!".


Wenn der Bordcomputer gegen die Treppe rennt,
pling! knackt sein Treppe grell,
weil es ein Funksignal abfängt.
Und währenddessen rennt der Treppe grell.
Das sieht der Mensch analytisch,
sagt er: "Ich schreib ein Gedicht darüber.".
 

Bernd

Foren-Redakteur
Teammitglied
Es fehlt noch ein Schritt Grammatikkorrektur.

import random

# Wortlisten
subjekte = [
{"Wort": "der Bordcomputer", "Nominativ": "der Bordcomputer", "Akkusativ": "den Bordcomputer", "Dativ": "dem Bordcomputer", "Genitiv": "des Bordcomputers", "Pronomen": "er"},
{"Wort": "die Treppe", "Nominativ": "die Treppe", "Akkusativ": "die Treppe", "Dativ": "der Treppe", "Genitiv": "der Treppe", "Pronomen": "sie"},
{"Wort": "das Funksignal", "Nominativ": "das Funksignal", "Akkusativ": "das Funksignal", "Dativ": "dem Funksignal", "Genitiv": "des Funksignals", "Pronomen": "es"},
{"Wort": "der Satellit", "Nominativ": "der Satellit", "Akkusativ": "den Satelliten", "Dativ": "dem Satelliten", "Genitiv": "des Satelliten", "Pronomen": "er"},
{"Wort": "die Antenne", "Nominativ": "die Antenne", "Akkusativ": "die Antenne", "Dativ": "der Antenne", "Genitiv": "der Antenne", "Pronomen": "sie"},
{"Wort": "das Raumschiff", "Nominativ": "das Raumschiff", "Akkusativ": "das Raumschiff", "Dativ": "dem Raumschiff", "Genitiv": "des Raumschiffes", "Pronomen": "es"},
{"Wort": "die Steuerung", "Nominativ": "die Steuerung", "Akkusativ": "die Steuerung", "Dativ": "der Steuerung", "Genitiv": "der Steuerung", "Pronomen": "sie"},
{"Wort": "der Navigator", "Nominativ": "der Navigator", "Akkusativ": "den Navigator", "Dativ": "dem Navigator", "Genitiv": "des Navigators", "Pronomen": "er"},
{"Wort": "die Datenbank", "Nominativ": "die Datenbank", "Akkusativ": "die Datenbank", "Dativ": "der Datenbank", "Genitiv": "der Datenbank", "Pronomen": "sie"},
{"Wort": "das Signal", "Nominativ": "das Signal", "Akkusativ": "das Signal", "Dativ": "dem Signal", "Genitiv": "des Signals", "Pronomen": "es"}
]

verben = [
"kracht", "rennt", "stößt", "springt", "wackelt", "zittert", "leuchtet", "klirrt",
"rauscht", "fliegt", "schwingt", "dröhnt", "vibriert", "scheppert", "blinkt",
"tönt", "pfeift", "summt", "knattert", "rattert", "flackert", "beepst", "grummelt"
]

reaktionen = [
"zittert", "knistert", "wackelt", "leuchtet", "beepst", "vibriert", "flackert", "tönt",
"klirrt", "rauscht", "summt", "knattert", "dröhnt", "ploppt", "tropft"
]

# Adverbien (24 Einträge)
adverbien = [
"plötzlich", "langsam", "mühsam", "ratternd", "blitzschnell", "schleichend", "energetisch", "geheimnisvoll",
"stetig", "unaufhaltsam", "ruhig", "heftig", "schnell", "präzise", "leise", "dynamisch",
"intensiv", "vorsichtig", "feurig", "sanft", "überraschend", "fließend", "spannend", "explosiv"
]

# Reaktionsattribute (Adjektive) (24 Einträge)
reaktionsattribute = [
"heiß", "grell", "dumpf", "sanft", "elektrisch", "klar", "geschmeidig", "kosmisch",
"rasend", "mystisch", "leuchtend", "unheimlich", "intensiv", "dunkel", "hell", "glänzend",
"funkelnd", "flirrend", "glimmend", "flüssig", "schimmernd", "wunderbar", "pulsierend", "schattenhaft"
]

folgesaetze = [
"weil {pronomen} sich neu kalibriert",
"weil {pronomen} ein Funksignal abfängt",
"weil {pronomen} sich langsam repariert",
"weil {pronomen} synchronisiert wird",
"weil {pronomen} eine Fehlermeldung sendet",
"weil {pronomen} die Kontrolle übernimmt",
"weil {pronomen} die Richtung ändert",
"weil {pronomen} in den Standby-Modus wechselt"
]

beobachter = [
"der Mensch", "die Katze", "der Roboter", "der Hamster", "die Drohne", "die KI",
"der Wissenschaftler", "der Ingenieur", "der Astronaut", "die Androidin", "die AI"
]

# Funktion zur Generierung eines Sonetts
def generiere_sonett():
zeilen = []
for _ in range(14):
subjekt = random.choice(subjekte)
objekt = random.choice(subjekte)
verb = random.choice(verben) # Zufälliges Verb
reaktion = random.choice(reaktionen)
reaktionsattribut = random.choice(reaktionsattribute)
adverb = random.choice(adverbien)
folge = random.choice(folgesaetze).format(pronomen=subjekt["Pronomen"])

# Zufälliges Verb statt 'ist' verwenden
zeile = f"{adverb.capitalize()} {verb} {subjekt['Nominativ']} und {random.choice(verben)}, {objekt['Nominativ']} {reaktion} {reaktionsattribut}."
zeilen.append(zeile)

# Beobachter-Kommentar einfügen
beob = random.choice(beobachter)
zeilen.insert(7, f"Das sieht {beob} nachdenklich und sagt: \"Das ist Kunst!\"")
return "\n".join(zeilen)

# Generiere und zeige ein Sonett
if __name__ == "__main__":
print("Dynamisch generiertes Science-Fiction-Sonett:")
print(generiere_sonett())


Dynamisch generiertes Science-Fiction-Sonett:
Vorsichtig summt die Datenbank und beepst, das Funksignal vibriert dumpf.
Intensiv springt der Navigator und kracht, das Raumschiff vibriert geschmeidig.
Intensiv summt das Signal und dröhnt, die Datenbank dröhnt geschmeidig.
Heftig summt die Steuerung und tönt, der Bordcomputer leuchtet flirrend.
Leise tönt der Navigator und rattert, der Navigator flackert hell.
Langsam schwingt die Treppe und springt, die Treppe knistert intensiv.
Leise scheppert die Steuerung und pfeift, die Datenbank zittert dunkel.
Das sieht die AI nachdenklich und sagt: "Das ist Kunst!"
Sanft wackelt das Raumschiff und blinkt, der Bordcomputer ploppt heiß.
Unaufhaltsam fliegt das Funksignal und grummelt, der Satellit tropft leuchtend.
Explosiv springt der Navigator und summt, das Signal knattert mystisch.
Intensiv vibriert das Funksignal und rauscht, die Treppe leuchtet rasend.
Heftig flackert das Raumschiff und rauscht, die Datenbank flackert geschmeidig.
Präzise klirrt der Bordcomputer und tönt, die Steuerung klirrt flirrend.
Blitzschnell dröhnt die Steuerung und dröhnt, das Signal wackelt dumpf.
 
Zuletzt bearbeitet:

Bernd

Foren-Redakteur
Teammitglied
Bessere Ausgabe:

Plötzlich kracht die Treppe und zittert,
die Antenne wackelt klar,
weil sie das Chaos regiert,
bis das Chaos eskaliert.

Blitzschnell wackelt der Satellit und kracht,
die Antenne vibriert geschmeidig,
weil er sich neu kalibriert,
und dabei in Frequenzen verliert.

Mühsam wackelt die Treppe und stößt,
die Antenne beepst dumpf,
weil sie synchronisiert absigniert,
weil der Sender sich synchronisiert.

Plötzlich rennt das Funksignal und rennt,
der Bordcomputer knistert geschmeidig,
weil es der Funk rebelliert,
und in den Daten gravitiert.

Colab, ein einfacher Python-Interpreter, ohne Installation:



Lauffähiges Programm (Python), Es kann in den Interpreter eingefügt werden. (Unter Punkt: Neues Notebook)




import random
# Wortlisten
subjekte = [
{"Wort": "der Bordcomputer", "Nominativ": "der Bordcomputer", "Akkusativ": "den Bordcomputer", "Dativ": "dem Bordcomputer", "Genitiv": "des Bordcomputers", "Pronomen": "er"},
{"Wort": "die Treppe", "Nominativ": "die Treppe", "Akkusativ": "die Treppe", "Dativ": "der Treppe", "Genitiv": "der Treppe", "Pronomen": "sie"},
{"Wort": "das Funksignal", "Nominativ": "das Funksignal", "Akkusativ": "das Funksignal", "Dativ": "dem Funksignal", "Genitiv": "des Funksignals", "Pronomen": "es"},
{"Wort": "der Satellit", "Nominativ": "der Satellit", "Akkusativ": "den Satelliten", "Dativ": "dem Satelliten", "Genitiv": "des Satelliten", "Pronomen": "er"},
{"Wort": "die Antenne", "Nominativ": "die Antenne", "Akkusativ": "die Antenne", "Dativ": "der Antenne", "Genitiv": "der Antenne", "Pronomen": "sie"}
]
verben = ["kracht", "rennt", "stößt", "springt", "wackelt", "zittert", "leuchtet", "klirrt"]
reaktionen = ["zittert", "knistert", "wackelt", "leuchtet", "beepst", "vibriert", "flackert", "tönt"]
reaktionsattribute = ["heiß", "grell", "dumpf", "sanft", "elektrisch", "klar", "geschmeidig", "kosmisch"]
adverbien = ["plötzlich", "langsam", "mühsam", "ratternd", "blitzschnell", "schleichend", "energetisch", "geheimnisvoll"]
# Reimwörter (Folgesätze)
folgesaetze = [
"weil {pronomen} sich neu kalibriert",
"weil {pronomen} ein Funksignal friert",
"weil {pronomen} sich langsam repariert",
"weil {pronomen} synchronisiert absigniert",
"weil {pronomen} eine Fehlermeldung ziseliert",
"weil {pronomen} die Kontrolle abserviert",
"weil {pronomen} die Richtung durchtrainiert",
"weil {pronomen} in den Standby-Modus überführt",
"weil {pronomen} sich flink manipuliert",
"weil {pronomen} sein System dirigiert",
"weil {pronomen} das Chaos regiert",
"weil {pronomen} die Daten sortiert",
"weil {pronomen} das Netz archiviert",
"weil {pronomen} der Puls vibriert",
"weil {pronomen} die Zeit interferiert",
"weil {pronomen} das Signal am Ende friert",
"weil {pronomen} die Logik eliminiert",
"weil {pronomen} der Strom marschiert",
"weil {pronomen} die Schaltung animiert",
"weil {pronomen} der Funk rebelliert"
]
# Variabler Nachsatz
nachsatz_varianten = [
"und dabei in Frequenzen verliert",
"während das System ihn inspiziert",
"und dabei seltsam rotiert",
"bis die Verbindung stagniert",
"und dabei seltsam pulsierend friert",
"weil die Matrix es notiert",
"bis das Chaos eskaliert",
"während der Code sich kristallisiert",
"bis das Protokoll finalisiert",
"weil der Sender sich synchronisiert",
"und in den Daten gravitiert",
"bis der Algorithmus resigniert",
"und in der Logik transzendiert",
"weil ein Echo ihn reflektiert",
"und in der Tiefe oszilliert",
"bis das Muster sich integriert",
"weil der Speicher osmotisch agiert"
]
beobachter = ["der Mensch", "die Katze", "der Roboter", "der Hamster", "die Drohne", "die KI"]
# Funktion zur Generierung eines Sonetts
def generiere_sonett():
zeilen = []
verfügbare_folgesaetze = folgesaetze.copy()
verfügbare_nachsätze = nachsatz_varianten.copy()

random.shuffle(verfügbare_folgesaetze)
random.shuffle(verfügbare_nachsätze)

for _ in range(14):
subjekt = random.choice(subjekte)
objekt = random.choice(subjekte)
verb = random.choice(verben)
reaktion = random.choice(reaktionen)
reaktionsattribut = random.choice(reaktionsattribute)
adverb = random.choice(adverbien)

folge = verfügbare_folgesaetze.pop().format(pronomen=subjekt["Pronomen"])
nachsatz = verfügbare_nachsätze.pop()

# Zeilen mit zusätzlichem Zeilenumbruch nach Teilversen
zeile = (f"{adverb.capitalize()} {verb} {subjekt['Nominativ']} und {random.choice(verben)},\n"
f"{objekt['Nominativ']} {reaktion} {reaktionsattribut},\n"
f"{folge},\n"
f"{nachsatz}.")
zeilen.append(zeile)
# Beobachter-Kommentar einfügen
beob = random.choice(beobachter)
zeilen.insert(7, f"Das sieht {beob} nachdenklich und sagt:\n\"Das ist Kunst!\"")

return "\n\n".join(zeilen) # Zwei Zeilenumbrüche zwischen den Versen
if __name__ == "__main__":
print("Dynamisch generiertes Science-Fiction-Sonett:\n")
print(generiere_sonett())
 
Zuletzt bearbeitet:



 
Oben Unten