Integer and float numbers - Learn Python 3 - Snakify

Lesson 2
Ganzzahl und Gleitzahl


1. Ganzzahl-Arithmetik

Wir kennen bereits die folgenden Operatoren, die auf Zahlen angewendet werden können: + , - , * und ** . Der Divisionsoperator / für Ganzzahlen gibt eine Fließkomma-reelle Zahl (ein Objekt vom Typ float ). Die Potenzierung ** auch einen Gleitkommawert zurück, wenn die Potenz negativ ist:

print(17 / 3)  # gibt 5.66666666667
print(2 ** 4)  # gibt 16
print(2 ** -2) # ergibt 0,25

Es gibt eine spezielle Operation für Ganzzahldivision, bei der der Rest verworfen wird: // . Die Operation, die einen Rest einer solchen Division ergibt, sieht wie % . Beide Operationen ergeben immer ein Objekt vom Typ int .

print(17 / 3)   # gibt 5.66666666667
print(17 // 3)  # gibt 5
print(17 % 3)   # gibt 2
Advertising by Google, may be based on your interests

2. Gleitkommazahlen

Wenn wir einen Integer-Wert lesen, lesen wir eine Zeile mit input() und wandeln dann eine Zeichenkette mit int() in eine ganze Zahl um. Wenn wir eine Gleitkommazahl lesen, müssen wir die Zeichenfolge in float mit float() :

x = float(input())
print(x)

Floats mit sehr großem oder sehr kleinem Absolutwert können mit einer wissenschaftlichen Notation geschrieben werden. ZB ist die Entfernung von der Erde zur Sonne 1,496 · 10 11 oder 1.496e11 in Python. Die Masse eines Moleküls des Wassers beträgt 2,99 · 10 -23 oder 2.99e-23 in Python.

Man kann float-Objekte in int-Objekte umwandeln, indem man den Bruchteil mit der int() -Funktion verwirft. Diese Funktion demonstriert das sogenannte Runden auf Null- Verhalten:

print(int(1.3))   # gibt 1
print(int(1.7))   # gibt 1
print(int(-1.3))  # gibt -1
print(int(-1.7))  # gibt -1

Es gibt auch eine Funktion round() , die die übliche Rundung durchführt:

print(round(1.3))   # gibt 1
print(round(1.7))   # gibt 2
print(round(-1.3))  # gibt -1
print(round(-1.7))  # gibt -2

Gleitkommazahlen können aufgrund von Hardwarebeschränkungen nicht mit exakter Genauigkeit dargestellt werden. Dies kann zu umständlichen Effekten führen. Weitere Informationen finden Sie in den Python-Dokumenten .

print(0.1 + 0.2)  # gibt 0.30000000000000004
Advertising by Google, may be based on your interests

3. Mathematikmodul

Python hat viele Hilfsfunktionen für Berechnungen mit Gleitkommazahlen. Sie können im math werden.

Um dieses Modul zu verwenden, müssen wir es zuerst importieren, indem wir die folgende Anweisung am Anfang des Programms schreiben:

import math

Wenn wir zum Beispiel einen Höchstwert für x finden wollen - die kleinste ganze Zahl nicht weniger als x -, rufen wir die entsprechende Funktion aus dem Mathematikmodul auf: math.ceil(x) . Die Syntax für den Aufruf von Funktionen aus Modulen ist immer dieselbe: module_name.function_name(argument_1, argument_2, ...)

import math

x = math.ceil(4.2)
print(x)
print(math.ceil(1 + 3.8))

Es gibt eine andere Möglichkeit, Funktionen aus Modulen zu verwenden: um bestimmte Funktionen zu importieren, indem Sie sie benennen:

from math import ceil
 
x = 7 / 2
y = ceil(x)
print(y)

Einige der Funktionen, die sich auf Zahlen int() - int() , round() und abs() (absoluter Wert aka Modul) - sind eingebaut und erfordern keine Importe.

Alle Funktionen eines Standard-Python-Moduls sind auf der offiziellen Python-Website dokumentiert. Hier ist die Beschreibung für Mathematikmodul . Die Beschreibung einiger Funktionen ist gegeben:

Funktion Beschreibung
Rundung
floor(x) Geben Sie den Boden von x zurück, die größte ganze Zahl kleiner oder gleich x.
ceil(x) Rückgabe der Obergrenze von x, der kleinsten Ganzzahl größer oder gleich x.
Wurzeln und Logarithmen
sqrt(x) Gib die Quadratwurzel von x zurück
log(x) Mit einem Argument den natürlichen Logarithmus von x (zur Basis e) zurückgeben. Mit zwei Argumenten geben Sie den Logarithmus von x an die angegebene Basis zurück
e Die mathematische Konstante e = 2,71828 ...
Trigonometrie
sin(x) Gib den Sinus von x Radianten zurück
asin(x) Gebe den Bogen von x im Bogenmaß zurück
pi Die mathematische Konstante π = 3,1415 ...
Advertising by Google, may be based on your interests
Advertising by Google, may be based on your interests