Sådan konverteres en streng til heltal ved hjælp af Python



Denne artikel giver dig en detaljeret og omfattende viden om, hvordan du konverterer en streng til heltal på forskellige måder med eksempler.

I dette emne ville vi lære om, hvordan man konverterer en streng til heltal med og uden brug af indbygget datatype. Vi ved, at en streng er en samling af tegn arrangeret sekventielt lukket inden for anførselstegn, og et heltal er et tal uden nogen decimaler og ikke lukket med nogen form for anførselstegn.

Streng til heltal python





Men når spørgsmålet kommer til, hvordan man konverterer en datatype til en anden, giver Python en nem måde at konvertere til hinanden. I dette tilfælde ser vi, hvordan vi kan konvertere en streng til et heltal i følgende rækkefølge:

Brug af indbyggede datatyper



Antag, at når jeg tager input fra brugeren af ​​en eller anden grund, tager Python det og returnerer det som en streng selv. Med andre ord, selvom nogen skriver et tal som input, returnerer Python det som en streng.

name = input ('Hvad er dit navn:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Produktion:

Hvad hedder du: Tyra



Tyra

Hvad er din alder: 20

tyve

stigende rækkefølge c ++

Så du kan se, typen af ​​navn og alder taget som input er 'String'.

Antag nu, at hvis vi vil tilføje 5 til alderen, gør vi følgende:

name = input ('Hvad er dit navn:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)

Produktion:

Hvad hedder du: Tyra

Tyra

Hvad er din alder: 20

tyve

Traceback (seneste opkald sidst):

Fil 'C: /Users/prac.py', linje 9, i

print (alder + 5)

TypeError: skal være str, ikke int

Vi kan ikke tilføje 5 til alder, fordi alder er af typen String, og vi kan ikke lave direkte matematik med strenge. Så vi er nødt til at ændre alderen til et heltal, fordi vi har taget alderen som input, og Python returnerer den som streng.

Derfor.

name = input ('Hvad er dit navn:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( alder) print (alder + 5)

Produktion:

Hvad hedder du: Tyra

Tyra

sorteringsmetode c ++

Hvad er din alder: 20

tyve

25

skriver en tolk i java

Konventionel måde

Antag, at vi ikke vil bruge den indbyggede funktion int () til at konvertere streng til et heltal.Så vi er nødt til at bruge konventionel måde at konvertere.

Her er en enkel måde at gå til konvertering uden at bruge int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 hvis input_str [0] == '-': start_idx = 1 is_negative = Sandt andet: start_idx = 0 is_negative = Falsk for i inden for rækkevidde (start_idx, len (input_str)): sted = 10 ** (len (input_str) - (i + 1)) ciffer = ord (input_str [i]) - ord ('0') output_int + = sted * ciffer hvis er_negativ: return -1 * output_int andet: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' print (str_to_int (s))

Produktion:

123

-123

  • Først kontrollerer vi, om det antal, der leveres af brugeren, indeholder et minustegn eller ej, dvs. er det et negativt tal eller ej.Hvis den indeholder i den første position i et minustegn, starter vi vores konvertering fra den anden position, der indeholder tal.

  • Ethvert tal, lad os sige 123, kan skrives i form -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • På samme måde opdeler vi hvert af inputnumrene ved hjælp af ord (argument) .

  • ord ('0') returnerer 48, ord ('1') returnerer 49 osv.

  • Her bruger vi logikken, at ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 osv., Hvilket giver os det betydelige antal, der skal hentes fra det givne input nummer.

  • Endelig er det output, vi får fra funktionen, et legitimt heltal, som vi konverterede fra den givne inputstreng.

Så som du kan se, kan vi konvertere en hvilken som helst streng til heltal enten ved hjælp af int () -funktionen eller på den konventionelle måde.

Jeg håber, at du har lært begreberne godt, og prøv det derfor at være mere præcist, og med dette kommer vi til slutningen af ​​denne artikel om konvertering af en streng til int ved hjælp af Python.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne String to Integer-vejledning, og vi vender tilbage til dig hurtigst muligt.

For at få dybtgående viden om Python sammen med dens forskellige applikationer kan du tilmelde dig live med 24/7 support og livstidsadgang.