Com convertir una cadena a enter mitjançant Python



Aquest article us proporcionarà un coneixement detallat i exhaustiu de com convertir una cadena a enter de diverses maneres amb exemples.

En aquest tema, aprendríem sobre com convertir una cadena a enter amb i sense utilitzar tipus de dades integrats. Sabem que una cadena és una col·lecció de caràcters disposats seqüencialment entre cometes i que un nombre enter és un nombre sense punts decimals i que no s’inclou amb cap tipus de cometes.

Cadena a pitó enter





Però quan es planteja la qüestió de com convertir un tipus de dades a un altre, Python proporciona una manera fàcil de convertir-se entre si. En aquest cas, veiem com podem convertir una cadena en un enter en l’ordre següent:

Ús de tipus de dades incorporats



escriviu el càsting a Java amb exemple

Suposem que quan prenc l'entrada de l'usuari per alguna raó, Python la pren i la torna com una cadena. Dit d’una altra manera, fins i tot si algú escriu un número com a entrada, Python el retorna com una cadena.

name = input ('Quin és el teu nom:') print (name) print (type (name)) age = input ('Quina és la teva edat:') print (age) print (type (age))

Sortida:

Com es diu: Tyra



Tyra

Quina és la teva edat: 20 anys

20

Ja veieu, el tipus de nom i edat que es pren com a entrada és 'Cadena'.

Ara, suposem que si volem afegir 5 a l'edat, farem el següent:

name = input ('Quin és el teu nom:') print (name) print (type (name)) age = input ('Quina és la teva edat:') print (age) print (type (age)) print (age + 5)

Sortida:

Com es diu: Tyra

Tyra

Quina és la teva edat: 20 anys

20

Traceback (última trucada més recent):

Fitxer 'C: /Users/prac.py', línia 9, a

imprimir (edat + 5 anys)

TypeError: ha de ser str, no int

No podem afegir 5 anys a l’edat perquè l’edat és del tipus String i no podem fer matemàtiques directes amb cordes. Per tant, hem de canviar l’edat per un enter perquè hem pres l’edat com a entrada i Python la retorna com a Cadena.

Per tant.

name = input ('Quin és el teu nom:') print (name) print (type (name)) age = input ('Quina és la teva edat:') print (age) print (type (age)) age = int ( edat) imprimir (edat + 5 anys)

Sortida:

Com es diu: Tyra

Tyra

Quina és la teva edat: 20 anys

20

25

Manera convencional

Suposem que no volem utilitzar la funció integrada int () per convertir una cadena en un enter.Per tant, hem d’utilitzar el fitxer manera convencional convertir.

Aquí hi ha una manera senzilla d’anar a la conversió sense utilitzar 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 = False for i in range (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if is_negative: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' imprimir (str_to_int (s))

Sortida:

123

-123

quan s’ha d’utilitzar aquest java
  • En primer lloc, comprovarem si el número proporcionat per l’usuari conté o no un signe menys, és a dir, és un número negatiu o no.Si conté a la primera posició en un signe menys, iniciem la nostra conversió des de la segona posició que conté números.

  • Qualsevol número, diguem-ne 123, es pot escriure en el formulari:10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • De la mateixa manera, dividim cadascun dels números d'entrada mitjançant paraules (argument) .

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

  • Aquí fem servir la lògica que ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2, etc., la qual cosa ens proporciona el nombre significatiu que cal obtenir de la número d'entrada.

  • Per fi, la sortida que obtenim de la funció és un enter legítim que hem convertit a partir de la cadena d’entrada donada.

Així que com podeu veure, podem convertir qualsevol cadena a enter ja sigui mitjançant la funció int () o amb la forma convencional.

Espero que hàgiu après bé els conceptes i, per tant, proveu-los per ser més precisos i, amb això, arribem al final d’aquest article sobre la conversió d’una cadena a int mitjançant Python.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest Tutorial de cadenes a nombres enters i us respondrem el més aviat possible.

Per obtenir coneixements en profunditat sobre Python juntament amb les seves diverses aplicacions, podeu inscriure-us a la publicació amb assistència les 24 hores del dia, els 7 dies de la setmana i accés permanent.