Werkzeuge | Python-Kurs | Abfrage if |
- Ein einfaches Programm
- Anweisungen
- Variablen
- Mathematische Ausdrücke
- Zeichenketten
- Eingabe und Ausgabe
- Kommentare
- Übungsaufgaben
- Video
Daraus wurde natürlich mehr. Aber erst einmal wollen wir Python nutzen, um diesen Traum zu realisieren. Wir programmieren ein paar einfache Formeln ein.
Ein einfaches Programm
Rein, Raus: inout.py
Python-Programme werden typischerweise in Dateien abgelegt, die auf .py enden. Solche Programme können Sie einmal schreiben und immer wieder starten. Wählen Sie einen Editor und erstellen Sie die Datei inout.py. Dort geben Sie folgendes ein:variable = input("Gebe Deinen Namen ein: ") print(variable)
In der ersten Zeile wird mit der Funktion input eine Eingabe vom Benutzer erbeten. Dabei wird der Text in Anführungszeichen ausgegeben, damit der Benutzer weiß, was das Programm von ihm will.
Links vom Gleichheitszeichen steht eine Variable, die der Deutlichkeit
halber auch gleich variable heißt. Das Gleichheitszeichen ist
eigentlich ein Zuweisungszeichen und steckt das, was ihm
In der nächsten Zeile druckt die Funktion print den Inhalt der
Variablen auf dem Bildschirm aus. Es müsste also der eingegebene Namen
erscheinen.
Das Programm ist fertig und es muss gestartet werden.
Dazu rufen Sie den Interpreter (je nach System) mit python oder
python3 gefolgt vom Dateinamen. Hinter die Aufforderung geben Sie
den Namen ein. In meinem Fall sieht das so aus:
Der Mathematiklehrer will eine Kurvendiskussion des folgenden Polynoms:
y = x2 + 2x - 1
Die Berechnung muss zwischen die Ein- und die Ausgabe gesteckt werden.
Dabei müssen ein paar Besonderheiten berücksichtigt werden.
Als Beispiel berechnen wir die Kosten für das Fahren mit dem Auto pro
Kilometer.
Dazu benötigen Sie eine Variable für den Verbrauch Ihres Autos, gehen wir
von 7,5 Litern auf 100 km aus. Dann weisen Sie der Variablen verbrauch
7.5 zu.
Nun weisen Sie einer weiteren Variablen preis den Wert für den Preis
für einen Liter Sprit zu, nehmen wir mal optimistisch 1,92 an.
Dann rechnen wir den Preis mal dem Verbrauch und teilen ihn durch 100, weil
uns nur ein Kilometer interessiert. Das Ergebnis weisen wir der Variablen
kostenprokm und geben diese anschließend aus.
Sie sehen nun die Datei verbrauch.py im Explorer von VSC und können diese mit der Taste [F5] starten. Unter dem Editor erscheint ein Terminal.
Darin sollte die Lösung 0.144 erscheinen.
Im Terminal können Sie den Interpreter auch direkt starten:
Sie können nun die Werte im Programm an ein anderes Auto anpassen und testen.
Das geht sogar mit Elektroautos. Ein durchschnittlicher PKW verbraucht
15 kWh auf 100 km und der Strom aus der Steckdose kostet ca 0,4 Euro.
Probieren Sie es aus!
Das Ergebnis von input wird einer Variable zugewiesen. Diese
enthält dann einen Text, weil Sie ja Buchstaben und Ziffern eintippen.
Um aus dieser Zeichenkette eine Zahl zu machen, können Sie die Funktion
eval verwenden.
Ein Variablenname wird
aus Buchstaben, Ziffern und Unterstrichen zusammengesetzt.
Allerdings darf der Name nicht mit einer Ziffer beginnen.
Groß- und Kleinschreibung ist bei den Variablennamen signifikant.
Maus ist also nicht gleich maus und nicht gleich MAUS.
Welchen Typ eine Variable hat, ob sie also Zahlen oder Texte enhält,
wird durch eine Zuweisung entschieden. Bei Python spricht man gern vom
Duck-Typing.
Im folgenden Beispiel wird der Variablen zahl der Wert 12 zugewiesen.
Der Typ der Variablen ist nun int (ganzzahlig).
Welchen Typ eine Variable hat, kann durch die Funktion type
festgestellt werden. Bei den Zahlen sind dies int für ganze
Zahlen oder float für Fließkommazahlen. Das kann man im Interpreter
sehr schön sehen:
Fließkommazahlen sind leider oft nicht ganz exakt. Wenn von der
1 wiederholt 0.1 abgezogen wird, wird der Wert 0 nicht exakt erreicht.
Hintergrund ist, dass Fließkommazahlen wie alle Zahlen binär kodiert werden.
Ärgerlicherweise ist ausgerechnet 0.1 in ihrer Binärdarstellung eine Periode,
also nicht endend.
Zwei Schrägstriche
bewirken eine ganzzahlige Division. Das Prozentzeichen nennt man Modulo
und berechnet den Rest einer ganzzahligen Division.
Eine Variable wird durch seine Zuweisung definiert.
Lesende Zugriffe auf nicht definierte Variablen führen zu einem gravierenden
Fehler, der das Programm abstürzen lässt. Der Informatiker spricht von
einer Exception.
In einem Ausdruck rechts des Zuweisungszeichen kann auch die Variable links
vom Zuweisungszeichen erscheinen.
Dann enthält die Variable rechts vom Gleichheitszeichen den Wert, wie
er vor der Zuweisung war.
Es gibt eine Kurzform dafür, dass eine Variable um einen Wert erhöht wird.
Dazu wird das Pluszeichen vor das Gleichheitszeichen positioniert.
Das funktioniert auch mit Minus.
Auch interessant: In Python sind alle Variablen Objekte. Es sind nicht
wie bei anderen Sprachen primitive Datentypen. Darum kann man auch über
Zahlenwerte Methoden aufrufen.
Wurde eine Variable mit einem String belegt, liefert die Funktion
type als Typen str zurück.
Mit Texten kann man unglaublich viel machen. Darum werden diese
Strings auf einer eigenen Seite ausführlicher
behandelt.
Die Funktion input() erlaubt auch
Zeichenketten als Parameter, die dann direkt vor der Eingabe ausgegeben werden.
Soll am Ende kein Zeilenvorschub erfolgen, können Sie den Parameter
end der Methode print() in ein Leerzeichen oder in
einen leeren String ändern.
Darum ist es klug, seine Gedanken in Kommentaren zwischen die Programmzeilen
zu setzen. Dabei ist es wenig hilfreich zu erklären, wie es funktioniert.
Denn der Leser wird die Syntax von Python nicht vergessen haben, sondern
warum Sie es auf diese Weise gelöst haben.
Die einfachen Kommentare werden durch ein Doppelkreuz eingeleitet.
Im Zusammenhang mit Funktionen werden sie
auch docstrings genannt, weil sie über die Funktion help Informationen
liefern.
Wenn Sie dort nüchtern bleiben, können Sie auch die Fahrt zurück berechnen.
Ansonsten müssen Sie ein Taxi bezahlen. Das ist immer noch billiger als
wenn Sie einen Unfall bauen oder von der Polizei erwischt werden.
Aber diese Kosten sind mit einem einfachen Python-Programm nicht so leicht
zu ermitteln.
Falls Ihnen das nicht im Kopf gelingt, schreiben Sie doch einfach ein
Python-Programm, das Ihnen das abnimmt.
Und wenn das einfach war, schreiben Sie noch ein Programm, das in die andere
Richtung umrechnet. Sie schaffen das!
Was man auch immer über den BMI denken mag, es stellt eine prima Übung
zum Programmieren dar.
Wenn Sie erst den Befehl if kennenlernen, können
Sie der nackten Zahl sogar eine Bedeutung zuordnen.
$ python3 inout.py
Gebe Deinen Namen ein: Arnold
Arnold
$
Durch einen erneuten Start können Sie einen anderen Namen probieren.
Polynom
Nun wollen wir eine Formel programmieren und diese mit verschiedenen Werten
durchspielen, also das, was Babbage und Zuse gewollt haben.
eingabe = input("X-Wert: ")
x = eval(eingabe)
y = x*x + 2*x - 1
print(y)
Nun kann man das Programm wiederholt starten und kann jedes Mal ein neues
x eingeben und erhält das passende y.
Programm mit IDE-Unterstützung
Erzeugen Sie ein Verzeichnis auf Ihrem Computer. Wechseln Sie in dieses
Verzeichnis und starten Sie dort
Visual Studio Code.
Unter Linux lauten sie Befehle dafür:
mkdir kurs
cd kurs
code .
Mit [Strg]+[N] erzeugen Sie eine neue Textdatei.
Es erscheint ein kurzer Text. Klicken Sie dort auf Sprache auswählen.
Wählen Sie Python und nun können Sie Ihr Programm eintippen.
verbrauch = 7.5
preis = 1.92
kostenprokm = verbrauch * preis / 100
print(kostenprokm)
Nun tippen Sie [Strg]+[S] oder wählen Sie aus dem Menü Datei|Speichern.., um die Datei zu sichern. Eine Dateiauswahlbox fragt Sie nach einem Dateinamen. Geben Sie verbrauch.py ein.
python3 verbrauch.py
Verbrauch und Preis eingeben
Nun wollen Sie nicht jedes Mal das Programm ändern, wenn Sie ein neues
Auto ausprobieren wollen.
Dafür wurde die Funktion input geschaffen. In deren Parameterklammer
wird der Text geschrieben, die der Anwender sehen soll - in Anführungszeichen
natürlich, weil es ein Text ist.
vstr = input("Verbrauch pro 100 km: ")
verbrauch = eval(vstr)
Beim Preis können Sie alles in eine Zeile packen und sparen dabei sogar
eine Variable:
preis = eval(input("Preis: "))
Wenn Sie nun das Programm starten, geben Sie erst 7.5 und dann 1.92 ein und
Sie sollten dasselbe Ergebnis wie im Programm zuvor erhalten.
Zusammen sieht das Programm so aus:
vstr = input("Verbrauch pro 100 km: ")
verbrauch = eval(vstr)
preis = eval(input("Preis: "))
kostenprokm = verbrauch * preis / 100
print(kostenprokm)
Ach ja: Geben Sie bitte nur Zahlen ein, sonst ist Python beleidigt und
stürzt ab.
Anweisungen
Python-Anweisungen stehen normalerweise in einer Zeile.
Mehrere Anweisungen können in einer Zeile stehen, wenn sie durch Semikolen
getrennt sind, was aber vermieden werden sollte.
Lange Zeilen können umbrochen werden, wenn ein Backslash ans Ende gesetzt wird.
Ist eine Klammerung noch nicht abgeschlossen, erkennt Python, dass die
Anweisung noch nicht zu Ende ist und setzt sie automatisch in der Folgezeile
fort.
Variablen
Wir haben in dem ersten Programm ja nun schon einige Variablen verwendet.
Ein Programm speichert seine Daten in Variablen. Jede Variable hat einen
Namen, über den ihr Inhalt angesprochen wird.
Der Inhalt kann eine Zahl oder ein Text seind. Im Laufe des Kurses werden
wir nach andere Variablentypen kennenlernen.
zahl = 12
>>> type(a)
<class 'int'>
>>> type(a/3)
<class 'float'>
>>> type(a//3)
<class 'int'>
Man sieht hier, dass der Typ den Notwendigkeiten angepasst wird.
Die Division wird durch einen Schrägstrich erreicht.
Damit entsteht ein Bruch, der im Deutschen als Fließkommazahl bezeichnet wird.
Allerdings verwendet die angelsächsische Welt den Punkt als Dezimalzeichen.
Darum wird die deutsche 1,2 im Pythonprogramm als 1.2 dargestellt.
Mathematische Ausdrücke
Python kann Zahlen und Variablen miteinander verrechnen und verwendet dazu
die in den meisten Programmiersprachen üblichen Operatoren.
Operator Bedeutung + Addition - Subtraktion * Multiplikation / Division, ergibt immer eine Fließkommazahl // ganzzahlige Division ohne Rest % Rest einer ganzzahligen Division ** Exponent Rangfolge
Die Ausdrücke können kombiniert werden. Die Auswertungsreihenfolge:
Operatoren gleicher Ebene werden von links nach rechts ausgewertet.
zaehler = 1
zaehler = zaehler + 1
In der zweiten Zeile wird zunächst alles rechts vom Gleichheitszeichen
ausgewertet. Dazu wird in die Variable zaehler
geschaut. Darin steht noch die 1 aus der ersten Zeile. Diese 1 wird nun um
eine 1 erhöht und ergibt 2. Dieser Wert wird anschließend in der Variablen
zaehler gespeichert.
zaehler = 1
zaehler += 1
Unterschiede zu anderen Programmiersprachen
Ein ++ oder -- wie in C oder Java gibt es in Python nicht.
a = 21.2.as_integer_ratio()
Zeichenketten, also Strings
Zeichenkettenliterale werden durch Anführungszeichen oder Hochkommata
eingeschlossen, mehrzeilige Literale in dreifache Anführungszeichen.
gruss = "Hallo!"
name = 'Arnold'
lyrik = """When I see a bird that
walks like a duck and swims like a duck and quacks like a duck,
I call that bird a duck.
(James Whitcomp Riley)"""
Eingabe und Ausgabe
Eingabe
Python verwendet für die Eingabe die Funktion input().
Das Ergebnis wird in einer Variablen gespeichert und ist immer ein String.
name = input("Wie heissen Sie? ")
print("Guten Tag,", name)
Wenn der Benutzer eine Zahl eingeben soll, muss die Eingabe vor dem Rechnen
erst in eine Zahl umgewandelt werden.
alter = eval(input("Wie alt sind Sie? "))
print("Und nächstes Jahr sind Sie ", alter+1, "Jahre alt")
Ausgabe mit print
Die Ausgabe erfolgt mit der Funktion print().
Es können mehrere Werte an print() übergeben
werden, die dann durch Komma zu trennen sind.
Die Ausgabe erfolgt dann in der gleichen Zeile.
print("Anfang", end=" ")
print("Ende")
Nun erscheinen Anfang unde Ende durch ein Leerzeichen getrennt in derselben
Zeile.
Kommentare
Während ich ein Programm schreibe, ist mir vollkommen klar, was ich warum tue.
Aber schon einen Monat später frage ich mich manchmal, was mich da eigentlich
geritten hat. Es ist mir schon passiert, dass ich etwas korrigiert habe und
dann später alles wieder zurückänderte, weil ich dann verstanden habe, warum
ich es genau so gemacht habe.
# Dies ist ein Kommentar
zahl = 12 # ab dem Doppelkreuz nur zur Kenntnisnahme
Drei Anführungszeichen leiten einen Blockkommentar ein und aus.
""" Dies ist ein Kommentar
der hört hier noch nicht auf
Erst am Ende dieser Zeile """
Die drei Anführungszeichen bilden gleichzeitig ein mehrzeiliges
Zeichenkettenliteral.
Übungsaufgaben
So wie man Klavierspielen nicht durch das Abhören von Klaviermusik lernt,
lernt man auch Programmieren nur durch eigenes Üben und Programmieren.
Also vollziehen Sie bitte zunächst das hier beschriebene nach.
Wenn Sie das geschafft haben, sollten Sie ein paar eigene Programme schreiben.
Die Fahrt zur Disko
Ihr Programm berechnet Ihnen die Kosten pro Kilometer. Nun erweitern Sie das
Programm um die Entfernung zur Disko. Dann soll es Ihnen errechnen, was die
Fahrt kostet.
Der Dreisatz
Auf dem Markt finden Sie ein Schild: 5 Tomaten für 2 Euro. Sie brauchen aber
7 Tomaten. Schreiben Sie ein Programm, das Ihnen das ausrechnet, aber bitte
so, dass es auch funktioniert, wenn 2 Kilo Schrauben 3,75 Euro kosten und Sie
wissen wollen, was 13 Kilo kosten.
Fahrenheit und Celsius
Für die Temperatur gibt es die Einheiten Fahrenheit (F) und Celsius (C).
Um aus den bei uns üblichen Temperaturen in Celsius den in den USA üblichen
Wert in Fahrenheit zu errechnen, multiplizieren Sie den Celsiuswert erst mit
9, teilen das Ergebnis durch 5 und addieren anschließend 32.
Body Mass Index BMI
Wer seinem Body-Shaming gern Zahlen zugrunde legt, kann den BMI zu Rate
ziehen. Der BMI ist eine Zahl, die sich aus dem Gewicht ergibt, das durch
das Quadrat der Größe ergibt. Berechnen Sie diesen Wert und geben Sie ihn aus.
Video