Python: Numerische Variablen
► Python-Dokumentation: Numeric Types
Der Zahlenraum von Python liegt (wie bei PHP und JavaScript) etwa zwischen –1.797×10308 und +1.797×10308 (Doppelte Genauigkeit). Zahlen jenseits dieser Grenzen haben den Wert inf.
Eine Variable kann Zahlen speichern. Das Trennzeichen bei Gleitkommazahlen ist der Punkt.
a = 1
b = -34
c = 2.5
print(a)
print(b)
print(c)
print(type(a))
print(type(b))
print(type(c))
Berechnungen durchführen
Mit den üblichen Operatoren +, -, * und / lassen sich die Grundrechenarten mit numerischen Variaben durchführen. Der Operator ** wird für die Potenzierung verwendet.
a = 12
print(a + 10)
print(a - 5)
print(a * 2)
print(a / 4)
a += 5 # alternative Schreibweise für a = a + 5
a -= 10 # alternative Schreibweise für a = a - 10
a *= 2 # alternative Schreibweise für a = a * 2
a /= 7 # alternative Schreibweise für a = a / 7
print(a)
print(2 ** 4) # 2 hoch 4
Außerdem existieren die Operatoren // für die Ganzzahldivision und % für den Modulo, wobei gilt:
a = b * (a // b) + a % b
a = 26
b = 3
c = a // b # der auf die nächste Ganzzahl abgerundete Quotient aus a / b
print(c)
print(a % b) # der Rest der Ganzzahldivision
print(b * (a // b) + a % b)
► Python-Dokumentation: math
Für weitere Operationen (wie z. B. auch trigonometrische Funktionen) muss das Modul math importiert werden:
import math
a = 2
b = math.pow(a, 4) # alternative Schreibweise für a ** 4
print(b)
c = math.sqrt(b) # berechnet die Quadratwurzel
print(c)
a = -3.8
print(math.floor(a)) # die nächste Ganzzahl, die kleiner oder gleich a ist
print(math.ceil(a)) # die nächste Ganzzahl, die größer oder gleich a ist
Weitere Funktionen werden hier vorgestellt:
print(abs(-3.4)) # der vom Vorzeichen bereinigte Wert (Betrag) einer Zahl
print(round(23 / 7, 3)) # das auf drei Stellen hinter dem Dezimalzeichen gerundete Ergebnis von 23 / 7
print(bin(255)) # eine Dezimalzahl in eine Binärzahl umwandeln
print(hex(255)) # eine Dezimalzahl in eine Hexadezimalzahl umwandeln
print(oct(255)) # eine Dezimalzahl in eine Oktalzahl umwandeln
# Zahlen besonderer Zahlensysteme werden mit einem entsprechenden Präfix notiert:
bin = 0b0011 # Binärprefix 0b, Zahl: 0011
oct = 0o3542 # Oktalpräfix 0o, Zahl: 3542
hex = 0x25ab # Hexadezimalpräfix 0x, Zahl: 25ab
Bei der Umwandlung einer Ganzzahl aus dem Dezimalsystem in ein anderes Zahlensystem mit Hilfe von bin(), hex() oder oct() ist der zurückgegebene Datentyp str. Dies hat zur Folge, dass Zahlen, die nicht im Dezimalsystem vorliegen, zunächst in dieses konvertiert werden müssen, bevor sie mit einander verrechnet werden können. Dies geschieht mit der Funktion int(), wobei als zweites Argument die Basis des ursprünglichen Zahlensystems angegeben wird, also 2 bei Binärzahlen, 16 bei Hexadezimalzahlen und 8 bei Oktalzahlen.
a = 128
b = 256
c = 8
d = 16
print("Die Summe von", a, b, c, d, "ist", a + b + c + d)
b = bin(b)
c = hex(c)
d = oct(d)
print("Die Summe von", a, b, c, d, "ist", a + int(b, 2) + int(c, 16) + int(d, 8))
Zufallszahlen
► Python-Dokumentation: random
Um Zufallszahlen zu generieren, muss zunächst das Modul random importiert werden. Über die Funktion seed() aus diesem Modul wird die Zufälligkeit des Generators bestimmt, um zu verhindern, dass immer die gleichen Zufallszahlen erzeugt werden.
Über die Funktion randint() wird dann die Zufallszahl im Bereich der beiden übergebenen Argumente erzeugt. Der erste Wert gibt die kleinste mögliche Zahl an, der zweite Wert die größte. Es werden nur ganze Zahlen zurückgegeben.
import random
random.seed()
x = random.randint(1, 1000)
print(x)
Zahlen in Strings umwandeln
► Python-Dokumentation: str
Um eine Zahl mit einem String zu verknüpfen, muss die Zahl mit der Funktion str() zunächst in einen String umgewandelt werden.
a = "Hafenstraße "
b = 42
c = a + str(b)
print(c)
print(a + b) # Der Versuch, einen String mit einer Zahl zu verknüpfen, führt zu einem ValueError.