Hur man konverterar en sträng till heltal med Python



Denna artikel ger dig en detaljerad och omfattande kunskap om hur man konverterar en sträng till heltal på olika sätt med exempel.

I det här ämnet skulle vi lära oss hur man konverterar en sträng till heltal med och utan att använda den inbyggda datatypen. Vi vet att en sträng är en samling karaktärer ordnade sekventiellt inom citattecken och ett heltal är ett tal utan decimaler och inte omslutet med någon typ av citat.

Sträng till heltal python





Men när frågan kommer om hur man konverterar en datatyp till en annan, ger Python ett enkelt sätt att konvertera till varandra. I det här fallet ser vi hur vi kan konvertera en sträng till ett heltal i följande ordning:

Använda inbyggda datatyper



Antag att när jag tar in input från användaren av någon anledning tar Python det och returnerar det som en sträng själv. Med andra ord, även om någon skriver ett nummer som en inmatning, returnerar Python det som en sträng.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Produktion:

Vad heter du: Tyra



Tyra

Vad är din ålder: 20 år

bästa java ide för Linux

tjugo

Så du förstår att typen av namn och ålder som ingången är 'Sträng'.

Antag att om vi vill lägga till 5 i åldern, gör vi följande:

namn = input ('Vad heter du:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)

Produktion:

Vad heter du: Tyra

Tyra

Vad är din ålder: 20 år

tjugo

Spårning (senaste samtalet senast):

Fil 'C: /Users/prac.py', rad 9, in

tryck (ålder + 5)

TypeError: måste vara str, inte int

Vi kan inte lägga 5 till ålder eftersom ålder är av typ String och vi kan inte göra direkt matematik med strängar. Så vi måste ändra åldern till ett heltal eftersom vi har tagit ålder som inmatning och Python returnerar den som sträng.

Därmed.

namn = input ('Vad heter du:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( ålder) tryck (ålder + 5)

Produktion:

Vad heter du: Tyra

java vad är en instansvariabel

Tyra

Vad är din ålder: 20 år

tjugo

25

Konventionellt sätt

Antag att vi inte vill använda den inbyggda funktionen int () för att konvertera sträng till ett heltal.Så vi måste använda konventionellt sätt att konvertera.

Här är ett enkelt sätt att gå för konvertering utan att använda int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = Falsk för i inom intervallet (start_idx, len (input_str)): plats = 10 ** (len (input_str) - (i + 1)) siffra = ord (input_str [i]) - ord ('0') output_int + = plats * siffra om är_negativ: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (typ (x)) s = '123' print (str_to_int (s)) s = '-123' utskrift (str_to_int (s))

Produktion:

123

-123

  • Först kontrollerar vi om numret som tillhandahålls av användaren innehåller något minus eller inte, dvs. är det ett negativt tal eller inte.Om den innehåller i den första positionen i minustecken, börjar vi vår omvandling från den andra positionen som innehåller siffror.

  • Varje nummer, låt oss säga 123, kan skrivas i form -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • På samma sätt delar vi upp vart och ett av inmatningsnumren med ord(argument) .

  • ord ('0') returnerar 48, ord ('1') returnerar 49 etc.

  • Här använder vi logiken att ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 etc. som ger oss det betydande antalet som ska hämtas från den givna inmatningsnummer.

  • Äntligen är utdata vi får från funktionen ett legit heltal som vi konverterade från den givna inmatningssträngen.

Så som du kan se kan vi konvertera valfri sträng till heltal antingen med funktionen int () eller på konventionellt sätt.

Jag hoppas att du har lärt dig begreppen bra och därför försöker det vara mer exakt och med detta kommer vi till slutet av den här artikeln om att konvertera en sträng till int med Python.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna String to Integer-handledning så kommer vi tillbaka till dig så snart som möjligt.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du registrera dig för live med 24/7 support och livstidsåtkomst.