7045 typkonvertering

Låt oss fortsätta med inmatning från tangentbordet. Det som läses in från tangentbordet blir en text, datatypen str. För att kunna använda indata i beräkningar måste vi omvandla till decimaltal eller heltal. Hur det går till visas nedan.

Exempel

Studera följande körning som gjorts i Python console.

>>> text = input('Ange ditt favorittal')
Ange ditt favorittal>? 4
>>> text
'4'
>>> type(text)
<class 'str'>

Vi kan se att det som läses in med input blir en text, datatypen str.

Om vi vill räkna med det inlästa talet så går det inte innan vi har omvandlat det till ett tal. Det görs på följande vis.

>>> tal = int(text)

Funktionen int gör ett värde av en annan datatyp till ett heltal, dataypen int.

Exempel

Nu ska vi läsa in bas och höjd för en rektangel från tangentbordet och därefter beräkna rektangelns area och omkrets. Programmet blir som följer.

bredd = float(input("Ange rektangelns bredd: "))
höjd = float(input("Ange rektangelns höjd: "))
area = bredd * höjd
omkrets = 2 * (bredd + höjd)
print("area:", area)
print("omkrets:", omkrets)

Resultatet av programkörning visas nedan.

Ange rektangelns bredd: 4.5
Ange rektangelns höjd: 2
area: 9.0
omkrets: 13.0

kommentar

Förklaring av följande kod som återfinns ovan.

bredd = float(input("Ange rektangelns bredd: "))

Följande händer steg för steg:

Funktionen input får argumentet "Ange rektangelns bredd: ".

Texten "Ange rektangelns bredd: " skrivs ut.

Programmet väntar på svar från användaren.

Användaren matar in 4.5.

Anropet av funktionen input lämnar tillbaka texten "4.5".

Funktionen float anropas med argumentet "4.5" och lämnar tillbaka svaret 4.5.

Variabeln bredd får värdet 4.5.

Sammanfattning typkonvertering

Följande funktioner är användbara för att göra typkonverteringar.

int()
float()
str()

Uppgifter

1

Be användaren mata in basen och höjden för en triangel. Beräkna arean och visa den tillsammans med bredd och höjd. Utskriften kan bli som nedan.

bas = 4.0
höjd = 6.0
area = 12.0

2

Be användaren att mata in radien för en cirkel. Beräkna omkrets och area och visa dessa.

Tips!

area = r * r * 3.14
omkrets = 2 * r * 3.14