Eingebaute Python 3-Funktionen zum Arbeiten mit Zahlen

Einführung

Python 3 enthält viele integrierte Funktionen, die Sie problemlos in jedem Programm verwenden können, an dem Sie gerade arbeiten. Mit einigen Funktionen können Sie convert data types, und andere sind spezifisch für einen bestimmten Typ, z strings.

In diesem Tutorial werden einige der integrierten Funktionen beschrieben, die mit numerischen Datentypen in Python 3 verwendet werden können. Wir gehen auf die folgenden Funktionen ein:

  • + abs () + für absoluten Wert

  • + divmod () + um einen Quotienten und den Rest gleichzeitig zu finden

  • + pow () + um eine Zahl auf eine bestimmte Potenz zu erhöhen

  • + round () +, um eine Zahl auf einen bestimmten Dezimalpunkt zu runden

  • + sum () +, um die Summe der Elemente in einem iterierbaren Datentyp zu berechnen

Wenn Sie sich mit diesen Methoden vertraut machen, erhalten Sie mehr Flexibilität bei der Programmierung, sodass Sie fundierte Entscheidungen treffen können, wenn Sie entscheiden, welche Operatoren und Funktionen verwendet werden sollen. In diesem Lernprogramm werden einige dieser Funktionen anhand von Beispielen erläutert.

Absolutwert

Die eingebaute Funktion + abs () + gibt den absoluten Wert einer Zahl zurück, die Sie an sie übergeben. In der Mathematik bezieht sich * absoluter Wert * auf den Abstand, um den sich eine Zahl auf der Zahlenlinie von 0 befindet. Der Absolutwert berücksichtigt nicht, in welche Richtung von Null die Zahl liegt, dh negative Zahlen werden mit positiven Zahlen dargestellt.

Um einige Beispiele zu nennen: Der absolute Wert von "+ 15 " ist " 15 ", der absolute Wert von " -74 " ist " 74 " und der absolute Wert von " 0 +" ist " + 0 + `.

Der Absolutwert ist ein wichtiges Konzept für die Berechnung und die reale Analyse, aber es ist auch sinnvoll, wenn wir an alltägliche Situationen wie die zurückgelegte Entfernung denken. Wenn wir beispielsweise versuchen, in eine Entfernung von 90 Kilometern zu gelangen, aber stattdessen 150 Kilometer zurücklegen, haben wir unser ursprüngliches Ziel überschritten. Wenn wir jetzt berechnen möchten, wie viele Meilen noch übrig sind, um das gewünschte Ziel zu erreichen, erhalten wir eine negative Zahl, können jedoch keine negativen Meilen mehr zurücklegen.

Verwenden wir "+ abs () +", um dieses Problem zu lösen:

destination_miles.py

miles_from_origin = 58  # Miles destination is from origin
miles_travelled = 93    # Miles travelled from origin to destination (too many)

# Calculate how many miles destination is from current location:
miles_to_go = miles_from_origin - miles_travelled

print(miles_to_go)      # Print how many miles left (a negative number)
print(abs(miles_to_go)) # Use absolute value to account for negative number
Output-35
35

In der Ausgabe sehen wir, dass wir, wenn wir die Funktion "+ abs () " nicht verwenden, in diesem Fall eine negative Zahl haben, " -35 ". Obwohl wir uns möglicherweise in einer Position befinden, in der " miles_travelled " kleiner als " miles_from_origin " ist, berücksichtigt die Funktion " abs () +" die Möglichkeit einer negativen Zahl.

Bei einer negativen Zahl gibt "+ abs () +" eine positive Zahl zurück, da absolute Werte immer positive Zahlen oder Null sind.

Lassen Sie uns + abs () + mit einer positiven Zahl und Null durchgehen:

print(abs(89.9))
print(abs(0))
Output89.9
0

Es ist am wahrscheinlichsten, dass wir "+ abs () " mit einer Variablen verwenden, die positiv oder negativ sein kann, wenn wir nur nach einer positiven Zahl suchen. Um eine negative Eingabe oder ein negatives Ergebnis zu berücksichtigen, verwenden wir " abs () +", um die zurückgegebene Zahl in eine positive Zahl umzuwandeln.

Den Quotienten und den Rest in einer Funktion finden

Da sowohl die Floor-Division (die einen Quotienten zurückgibt) als auch die Modulo-Division (die einen Rest zurückgibt) eng miteinander verbunden sind, kann es nützlich sein, eine Funktion zu verwenden, die beide Operationen gleichzeitig kombiniert.

Die in Python integrierte Funktion "+ divmod () +" kombiniert die beiden und gibt zuerst den Quotienten aus der Unterteilung zurück, dann den Rest.

Da + divmod () + mit zwei Zahlen arbeitet, müssen wir zwei Zahlen übergeben.

divmod(a,b)

Mit dieser Funktion führen wir grundsätzlich Folgendes aus:

a // b
a & b

Nehmen wir an, wir haben ein Buch geschrieben, das 80.000 Wörter lang ist. Bei unserem Verlag haben wir die Wahl zwischen 300 und 250 Wörtern pro Seite und möchten einen Eindruck davon bekommen, wie viele Seiten wir jeweils haben würden. Mit + divmod () + können wir sofort sehen, wie viele Seiten wir hätten und wie viele Wörter auf einer zusätzlichen Seite verteilt würden.

words_per_page.py

words = 80000       # How many words in our book
per_page_A = 300    # Option A, 300 words per page
per_page_B = 250    # Option B, 25- words per page

print(divmod(words,per_page_A)) # Calculate Option A
print(divmod(words,per_page_B)) # Calculate Option B
Output(266, 200)
(320, 0)

In Option A haben wir 266 Seiten mit Wörtern und 200 verbleibenden Wörtern (⅔ einer Seite) für insgesamt 267 Seiten, und in Option B haben wir ein Buch mit geraden 320 Seiten. Wenn wir umweltbewusst sein wollen, können wir Option A wählen, aber wenn wir mit einem größeren Buch eindrucksvoller aussehen wollen, können wir Option B wählen.

Da die Funktion "+ divmod () +" sowohl Ganzzahlen als auch Fließkommazahlen annehmen kann, gehen wir auch ein Beispiel durch, das Fließkommazahlen verwendet:

a = 985.5
b = 115.25

print(divmod(a,b))
Output(8.0, 63.5)

In diesem Beispiel ist "+ 8.0 " der Floor-Quotient von 985.5 geteilt durch 115.25 und " 63.5 +" der Rest.

Denken Sie daran, dass Sie den Floor Division-Operator "+ // " und den Modulo-Operator "% " verwenden können, um zu überprüfen, was " divmod () +" getan hat:

print(a//b)
print(a%b)
Output8.0
63.5

Bei Verwendung der Funktion + divmod () + in Python. Wir erhalten sowohl die gesamte Häufigkeit der Aufteilung als auch den zurückgegebenen Rest.

Leistung

In Python können Sie the operator + ** + to verwenden Erhöhen Sie eine Zahl um einen Exponenten, oder verwenden Sie die integrierte Funktion + pow () +, die zwei Zahlen akzeptiert.

Um zu sehen, wie die Funktion "+ pow () +" funktioniert, nehmen wir an, wir forschen an Bakterien und möchten herausfinden, wie viele Bakterien wir am Ende des Tages haben, wenn wir mit 1 beginnen. Die Bakterien, mit denen wir arbeiten, verdoppeln sich stündlich. Daher berechnen wir 2 (Verdopplung) nach der Gesamtstundenzahl (in unserem Fall 24).

bacter.py

hours = 24
total_bacteria = pow(2,hours)

print(total_bacteria)
Output16777216

Wir haben zwei Ganzzahlen an die Funktion "+ pow () +" übergeben und festgestellt, dass wir am Ende dieses 24-Stunden-Zeitraums über 16 Millionen Bakterien haben werden.

Wenn wir in der Mathematik 3 hoch 3 berechnen wollen, lautet die allgemeine Formel folgendermaßen:

Die Berechnung, die wir abschließen, ist 3 x 3 x 3, was 27 entspricht.

Um 3³ in Python zu berechnen, geben wir + pow (3,3) + ein.

Die Funktion "+ pow () " nimmt sowohl Ganzzahlen als auch Gleitkommazahlen auf und bietet eine Alternative zur Verwendung des Operators " ** +", wenn Sie Zahlen auf eine bestimmte Potenz erhöhen möchten.

Rundungszahlen

Bei Floats mit vielen Nachkommastellen ist es wichtig, dass Zahlen schnell und einfach gerundet werden können. Die eingebaute Python-Funktion + round () + nimmt zwei Zahlen auf, eine, die gerundet werden soll, und eine, die die Anzahl der einzuschließenden Dezimalstellen angibt.

Wir verwenden die Funktion, um einen Gleitkommawert mit mehr als 10 Dezimalstellen zu verwenden, und verwenden die Funktion "+ round () +", um die Dezimalstellen auf 4 zu reduzieren:

i = 17.34989436516001
print(round(i,4))
Output17.3499

Im obigen Beispiel wird der Gleitkommawert "+ 17.34989436516001 " auf " 17.3499 +" gerundet, da wir angegeben haben, dass die Anzahl der Dezimalstellen auf 4 begrenzt werden soll.

Beachten Sie auch, dass die Funktion "+ round () " die Zahlen aufrundet. Anstatt " 17.3498 " als Ausgabe anzugeben, wurde " 17.3499 +" ausgegeben, da die Zahl nach der Dezimalzahl 8 die Zahl 9 ist. Jede Zahl, auf die die Zahl 5 oder höher folgt, wird auf die nächste ganze Zahl aufgerundet.

Lassen Sie uns die Syntax für "+ round () +" aufschlüsseln:

round(,)

Im täglichen Leben kommt es häufig vor, dass Zahlen gerundet werden, insbesondere wenn mit Geld gearbeitet wird. Wir können einen Penny nicht gleichmäßig auf mehrere Freunde aufteilen.

Lassen Sie uns ein Beispiel eines einfachen Programms durchgehen, mit dem ein Trinkgeld berechnet werden kann. Hier geben wir Zahlen an, aber wir könnten das Programm umschreiben, um stattdessen vom Benutzer bereitgestellte Zahlen einzugeben. In diesem Beispiel gingen 3 Freunde in ein Restaurant, um eine Rechnung von 87,93 USD gleichmäßig aufzuteilen und ein Trinkgeld von 20% hinzuzufügen.

bill_split.py

bill = 87.93                # Total bill
tip = 0.2                   # 20% tip
split = 3                   # Number of people splitting the bill

total = bill + (bill * tip) # Calculate the total bill

each_pay = total / split    # Calculate what each person pays

print(each_pay)             # What each person pays before rounded

print(round(each_pay,2))    # Round the number - we can’t split pennies
Output35.172000000000004
35.17

In diesem Programm fragen wir zuerst nach der Ausgabe der Zahl, nachdem wir die Gesamtrechnung plus Trinkgeld geteilt durch 3 berechnet haben, was eine Zahl mit vielen Dezimalstellen ergibt: + 35.172000000000004 +. Da diese Zahl als Geldzahl keinen Sinn ergibt, verwenden wir die Funktion + round () + und begrenzen die Dezimalstellen auf 2, damit wir eine Ausgabe liefern können, mit der die drei Freunde tatsächlich arbeiten können: `+ 35,17 + `.

Wenn Sie es vorziehen, auf eine Zahl mit nur 0 als Dezimalwert zu runden, können Sie dies tun, indem Sie 0 als zweiten Parameter in der Funktion + round () + verwenden:

round(345.9874590348545304636,0)

Dies würde zu "+ 346.0 +" führen.

Sie können auch ganze Zahlen in + round () + übergeben, ohne einen Fehler zu erhalten, falls Sie Benutzereingaben in Form einer ganzen Zahl anstelle eines Gleitkommas erhalten. Wenn eine Ganzzahl als erster Parameter übergeben wird, wird eine Ganzzahl zurückgegeben.

Summe berechnen

Die Funktion + sum () + wird zum Berechnen von Summen numerischer zusammengesetzter Datentypen verwendet, einschließlich lists, https: //www.digitalocean.com/community/tutorials/understanding-tuples-in-python-3[tuples] und https://www.digitalocean.com/community/tutorials/understanding-dictionaries-in-python-3 [ Wörterbücher].

Wir können eine Liste an die Funktion + sum () + übergeben, um alle Elemente in der Liste in der Reihenfolge von links nach rechts zu addieren:

some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9]
print(sum(some_floats))
Output49.5

Dies funktioniert ähnlich mit Tupeln und Wörterbüchern:

print(sum((8,16,64,512)))   # Calculate sum of numbers in tuple
print(sum({-10: 'x', -20: 'y', -30: 'z'}))  # Calculate sum of numbers in dictionary
Output600 # Sum of numbers in tuple
-60 # Sum of numbers in dictionary

Die Funktion + sum () + kann bis zu 2 Argumente enthalten. Sie können also eine zusätzliche Zahl in Ganzzahl- oder Gleitkommaform hinzufügen, um die Zahlen zu ergänzen, aus denen das Argument an der ersten Position besteht:

some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9]

print(sum(some_floats, 0.5))
print(sum({-10: 'x', -20: 'y', -30: 'z'},60))
Output50.0
0

Wenn Sie kein zweites Argument angeben, fügt die Funktion + sum () + standardmäßig 0 zum iterierbaren zusammengesetzten Datentyp hinzu.

Fazit

In diesem Lernprogramm wurden einige integrierte Methoden behandelt, die Sie mit numerischen Datentypen in der Programmiersprache Python verwenden können.

Weitere Informationen zum Arbeiten mit Zahlen finden Sie unter „https://www.digitalocean.com/community/tutorials/how-to-do-math-in-python-3-with-operators[How To Do Math in Python 3 with Operators] “und weitere Informationen zu Listen finden Sie unter„ Listen in Python 3 verstehen “.