Arbeta med siffror i Python

Slutförd

Utöver grundläggande aritmetik kan du använda andra åtgärder på tal. Du kan behöva utföra avrundning eller konvertera strängar till tal.

I scenariot för den här modulen vill du acceptera indata från en användare. Indata är en sträng i stället för ett tal, så du måste konvertera den till ett tal. Användaren kan också ange värden som ger dig ett negativt svar som du inte vill visa. Du kan behöva konvertera svaret till det absoluta värdet. Lyckligtvis tillhandahåller Python verktyg för dessa åtgärder.

Konvertera strängar till tal

Python stöder två huvudtyper av tal: heltal (eller int) och flyttal (eller float). Den viktigaste skillnaden mellan de två är förekomsten av en decimalpunkt. heltal är heltal, medan flyttal innehåller ett decimalvärde.

När du konverterar strängar till tal anger du vilken typ av tal du vill skapa. Du måste bestämma om du behöver en decimal. Du använder int för att konvertera till ett heltal och float konvertera till ett flyttalsnummer.

demo_int = int('215')
print(demo_int)

demo_float = float('215.3')
print(demo_float)
215
215.3

Viktigt!

Om du använder ett ogiltigt värde för antingen int eller floatfår du ett fel.

Absoluta värden

Ett absolut värde i matematik är det icke-negativa talet utan dess tecken. Att använda ett absolut värde kan vara användbart i olika situationer, inklusive vårt exempel på att försöka fastställa avståndet mellan två planeter. Tänk på följande matematik:

print(39 - 16)
print(16 - 39)

Observera att skillnaden mellan de två ekvationerna är att talen är omvända. Svaren är 23 respektive -23. När du bestämmer avståndet mellan två planeter spelar det ingen roll i vilken ordning du anger talen, eftersom det absoluta svaret är detsamma.

Konvertera det negativa värdet till dess absoluta värde med hjälp absav . Om du utför samma åtgärd med hjälp abs av (och skriver ut svaren) ser du att den visas 23 för båda ekvationerna.

print(abs(39 - 16))
print(abs(16 - 39))
23
23

Avrundning

Den inbyggda Python-funktionen som heter round är också användbar. Använd den för att avrunda upp till närmaste heltal om decimalvärdet är större än .5, eller nedåt om det är mindre än .5. Om decimalvärdet är lika med .5avrundar funktionen uppåt eller nedåt till närmaste jämna heltal.

print(round(1.4))
print(round(1.5))
print(round(2.5))
print(round(2.6))
1
2
2
3

Matematiskt bibliotek

Python har bibliotek för att tillhandahålla mer avancerade åtgärder och beräkningar. Ett av de vanligaste är math biblioteket. math gör att du kan utföra avrundning med floor och ceil, ange värdet för pi och många andra åtgärder. Nu ska vi se hur du använder det här biblioteket för avrundning uppåt eller nedåt.

Med avrundningsnummer kan du ta bort decimaldelen av en flyttal. Du kan välja att alltid avrunda upp till närmaste heltal med hjälp ceilav , eller nedåt med hjälp floorav .

from math import ceil, floor

round_up = ceil(12.5)
print(round_up)

round_down = floor(12.5)
print(round_down)
13
12