Primitive Typen, Strings und mit einer Nummer rechnen

Im Artikel Schlechte Chancen Yoda als Programmierer gehabt hätte haben wir gelernt, dass Programmiersprachen, genauso wie natürliche Sprachen, gewissen Regeln folgen. Um diese Syntax-Regeln das erste Mal anzuwenden, haben wir uns mit repl.it beschäftigt, eventuell ein Benutzerkonto dort angelegt und unsere erste Aufgabe gelöst.

Heute werden wir einen weiteren wichtigen Schritt gehen. Wir befassen uns mit Datentypen. Das System der verschiedenen Datentypen ist eines der allgegenwärtigen Grundkonzepte der Programmierung.

Jeglichen Programmcode, den wir schreiben, muss unser Computer in einem Speicher verwalten. Die Daten werden, abhängig von ihrer Art, unterschiedlich codiert gespeichert. Einige Datentypen benötigen weniger Platz im Speicher als andere. Zwei Dinge haben alle Datentypen jedoch gemein: Sie werden als Abfolge von 1en und 0en gespeichert und müssen vom Computer für die weitere Verwendung korrekt ausgelesen werden können.

Im Grunde ist das wie das Ablegen von Unterlagen. Briefpost und Rechnungen werden in ihre jeweiligen Din A4-Ordner geheftet. Für Kontoauszüge haben wir jedoch nicht nur einen anderen Ordner, sondern mit den von der Bank bereit gestellten Heftchen sogar einen unterschiedlich geformten. Schließlich ist ein Kontoauszug nur ein Drittel so hoch wie ein Blatt Din A4-Papier. Wollen wir einen Einkaufszettel archivieren, müssen wir uns abermals etwas Anderes überlegen. Manche befestigen mehrere Einkaufszettel auf einem Blatt Papier und andere sammeln die Zettelchen in einer Klarsichtfolie. Obwohl es sich um Unterlagen aus Papier handelt, unterscheiden sie sich doch in ihrer Größe bzw. in ihrem Inhalt und werden unterschiedlich ablegt.

Allgemeine Datentypen

Je nach verwendetem System oder verwendeter Programmiersprache gibt es sehr viele verschiedene Datentypen. Die folgenden primitiven Datentypen, auch einfache Datentypen genannt, sind häufig anzutreffen.

Der Datentyp……wird verwendet zur Speicherung von…
BYTEGanzzahlen (klein)
INTEGER (auch INT)Ganzzahlen (groß)
CHARACTER (auch CHAR)Zeichen (codiert als Ganzzahl)
BOOLEAN (auch BOOL)Wahr-/Falsch-Werten (logische Werte)
FLOATKommazahlen
DOUBLEKommazahlen mit höherer (doppelter) Präzision der Nachkommastellen

Ein besonderer Datentyp ist die meist STRING genannte Zeichenkette. Dabei handelt es sich zwar nicht um einen primitiven Datentypen im klassischen Sinn, jedoch gibt es ihn in praktisch jeder Programmiersprache.

Eine Zeichenkette bezeichnet eine Aneinanderreihung von einzelnen Zeichen. Diese Zeichen können Buchstaben, Zahlen, Satzzeichen oder auch nur ein Leerzeichen sein. Genauere Informationen dazu könnt ihr in dem Artikel Zahlensysteme und grafische Darstellung von Zeichen nachlesen.

Datentypen in Python

Für die Verwendung in Python sind vorerst nur eine Handvoll an Datentypen relevant. Ganzzahlige Werte werden als int gespeichert, Kommazahlen als float und Zeichenketten als string.

Wenn wir in Python programmieren geben wir den Datentyp nicht explizit an. Stattdessen wählt der Interpreter den für ihn in diesem Kontext logischsten Datentypen aus. Sollte der Datentyp an einer Stelle keinen Sinn ergeben und fehlt eine implizite Umwandlung, gibt der Interpreter einen Fehler aus. Das wird relativ leicht deutlich, wenn man den Befehl len(42) eingibt. Dieser Befehl zählt die Zeichen in einem String. Da eine Ganzzahl wie 42 kein String ist, gibt der Interpreter einen Fehler aus.

Will man eine Kommazahl angeben ist zu beachten, dass beim Programmieren als Dezimaltrennzeichen der „englische Punkt“ und nicht das „deutsche Komma“ verwendet wird (3,14 wird zu 3.14).

Strings müssen in Anführungszeichen gesetzt werden: „Hallo, Welt!“.

Operationen mit Daten

Um in Python und den meisten anderen Programmiersprachen zu rechnen, verwendet man, ähnlich wie in der Mathematik, Symbole. In der Mathematik nennt man diese Symbole Rechenzeichen und in der Programmierung Operatoren.

OperatorBeschreibungBeispielErgebnis
+Addiert die Werte links und rechts des Operators5 + 712
Subtrahiert die Werte links und rechts des Operators6.5 – 7-0.5
*Multipliziert die Werte links und rechts des Operators2.0 * 1.53.0
/Dividiert die Werte links und rechts des Operators10.5 / 3.03.5

Abseits von den sogenannten arithmetischen Operatoren, also den Rechenoperatoren, gibt es noch viele andere Operatoren. Zu diesen erfahren wir im nächsten Artikel mehr.

Aufgabe

Die Lösung der letzten Aufgabe ist übrigens „22“. Der Befehl len() zählt die Anzahl der Zeichen in einer Zeichenkette – Also ihre „length“.

Bei den arithmetischen Operatoren in Python gelten die gleichen Regeln bezüglich der Reihenfolge der Berechnung wie in der Mathematik: Punkt vor Strich, Klammern werden zuerst ausgerechnet und ansonsten von links nach rechts.

Jetzt zur Aufgabe:
Der Eintritt ins Legoland kostet für Kinder 39,50€ und für Erwachsene 55,40€. Zwei Familien machen einen Ausflug dort hin. Eine Familie besteht aus den Eltern und drei Kindern, die zweite aus der Mutter und zwei Kindern. Zum Glück hat die erste Familie noch einen Gutschein über 50,00€, der eingelöst wird.

Schreibt ein Programm, welches zuerst die Gesamtkosten ohne den Gutschein ausgibt und dann in einer neuen Zeile die Gesamtkosten abzüglich des Gutscheins zeigt. In der dritten Zeile soll das Programm den durchschnittlichen Preis pro Person bei Einlösung des Gutscheins ausgeben.

Tipps:
Mit dem Befehl print gibt man etwas auf der Console aus.

Um den Preis pro Person, also den Durchschnitt, zu berechnen, ermittelt man zuerst die Kosten und teilt diese dann durch die Anzahl der Personen.

Denkt an die Rechenregeln und Klammern.

Schreibt das Programm erst einmal so, dass in jeder Zeile der Ausdruck komplett berechnet wird. Im nächsten Artikel lernen wir wie man solche Ausdrücke sinnvoll kürzen kann.

Falls ihr Fragen habt, könnt ihr diese, wie immer, gerne hier stellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.