Arbeta med siffror i Python
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 float
få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 abs
av . 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 .5
avrundar 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 ceil
av , eller nedåt med hjälp floor
av .
from math import ceil, floor
round_up = ceil(12.5)
print(round_up)
round_down = floor(12.5)
print(round_down)
13
12