Python Tutorial
- jetzt Python programmieren lernen

Lob ist wichtig – Schmeichelprogram

Wir haben mit dem Modul „random“ aus dem letzten Kapitel nun die Möglichkeit kennen gelernt, in unseren Python-Programmen mit dem Zufall zu spielen. Jetzt wollen wir uns ein Schmeichelprogramm programmieren. Dieses soll uns loben, was das Zeug hält. Wer lieber die Welt negativ sieht, darf natürlich genauso ein Beschimpfungsprogramm erstellen. Alles eine Frage der Wortwahl.

Das gewünschte Ergebnis: ein sich immer änderndes Lob ausgeben in der Form:
„Du bist der ADJEKTIV NOMEN“

Beispielsweise:
„Du bist der beste Freund“
„Du bist der liebenswürdigste Mensch“

Was benötigen wir? Natürlich haben wir die jetzt benutzten Funktionen und Vorgehensweisen bei Python schon in den letzten Kapiteln kennen gelernt. Am besten ist natürlich nicht einfach den später folgenden Code abzutippen, sondern erst einmal selber probieren, eine Lösung zu erstellen.

Was haben wir:

wir haben beliebige viele positive Adjektive (die Liste kann beliebig erweitert werden):

  • beste
  • liebenswürdigste
  • schönste
  • größte

Zusätzlich haben wir Nomen:

  • Mensch
  • Hecht
  • Freund
  • Kumpel
  • Programmierer

Aus diesen 2 Listen können wir nun eine Ausgabe auf dem Bildschirm durch Zufall erzeugen lassen. Beispiele dazu, die können kommen:

  • Du bist der größte Freund
  • Du bist der liebenswürdigste Mensch
  • Du bist …

Aufgabe: Lobesprogramm

Wir benötigen also in Python die Möglichkeit,

  • die Adjektive zu speichern
  • die Nomen zu speichern
  • eine zufällige Auswahl aus den beiden gesicherten
  • und diese soll dann ausgegeben werden

Unbedingt selber probieren. Dadurch lernt man am schnellsten (auch aus den unter Umständen gemachten Fehlern).

Lösungsweg: Lobesprogramm:

Probiert und zu einem Ergebnis gekommen? Hier eine Lösung für unser Lob-Programm.

Im ersten Schritt erstellen wir 2 Listen. Variablen wären hier unpraktisch, da wir ja viele ähnliche Wörter haben, uns später per Zufall aus den Listen auswählen wollen:

Unsere Liste für die Adjektive:

adjektive = ["beste", "liebenswuerdigste", "schoenste", "groesste"]

Und jetzt können wir auch gleich eine zweite Liste mit den Nomen machen:

adjektive = ["beste", "liebenswuerdigste", "schoenste", "groesste"]
nomen = ["Mensch", "Hecht", "Freund", "Kumpel", "Programmierer"]

Wir wollen nun eine Ausgabe auf dem Bildschirm:

adjektive = ["beste", "liebenswuerdigste", "schoenste", "groesste"]
nomen = ["Mensch", "Hecht", "Freund", "Kumpel", "Programmierer"]
print ("Du bist der ")

Ab jetzt benötigen wir den Zufall. Dazu müssen wir das Modul random importieren. Das muss gleich am Anfang unseres Python-Programmes geschehen. Muss ist übertrieben. Es muss importiert sein, bevor es eingesetzt wird. Allerdings ist guter Stil am Anfang von einem Python-Programmes alle Module zu importieren.

import random
adjektive = ["beste", "liebenswuerdigste", "schoenste", "groesste"]
nomen = ["Mensch", "Hecht", "Freund", "Kumpel", "Programmierer"]
print ("Du bist der ")

Und nun wollen wir eine zufällige Auswahl. Diese erhalten wir über „random“ und „choice“:

import random
adjektive = ["beste", "liebenswuerdigste", "schoenste", "groesste"]
nomen = ["Mensch", "Hecht", "Freund", "Kumpel", "Programmierer"]
print ("Du bist der ")
print (random.choice(adjektive))
print (random.choice(nomen))

Als Ergebnis erhalten wir:

Du bist der
beste
Freund

Die Ausgabe kommt bereits, allerdings untereinander. Also nutzen wir nur 1 print und unser Schmeichelprogramm ist fertig. Dies einmal am morgen ausführen und die Stimmung ist mindestens um 3,5 Prozent besser:

import random
adjektive = ["beste", "liebenswuerdigste", "schoenste", "groesste"]
nomen = ["Mensch", "Hecht", "Freund", "Kumpel", "Programmierer"]
print ("Du bist der " + 
    random.choice(adjektive) +
    " " +
    random.choice(nomen) 
    )

Ausgabe von unserem erstellten Programm:

Du bist der beste Freund

Kleine Anmerkung am Rande. Es wurde in der fertigen Lösung noch ein Leerzeichen in der Ausgabe zwischen dem Adjektiv und dem Nomen ausgegeben. Die print-Ausgabe ist im obigen Code umgebrochen um besser lesbar zu sein. Diese könnte auch komplett in einer Zeile im Programmcode stehen.

Und nun „frohes Loben“.