Comment convertir une chaîne en entier à l'aide de Python

Cet article vous fournira une connaissance détaillée et complète de la conversion d'une chaîne en entier de différentes manières avec des exemples.

Dans cette rubrique, nous découvrirons comment convertir une chaîne en entier avec et sans utiliser le type de données intégré. Nous savons qu'une chaîne est une collection de caractères disposés séquentiellement entre guillemets et qu'un entier est un nombre sans virgule décimale et sans aucun type de guillemets.



Chaîne en entier python



Mais lorsque la question se pose de savoir comment convertir un type de données en un autre, Python fournit un moyen facile de se convertir l'un en l'autre. Dans ce cas, nous voyons comment convertir une chaîne en entier dans l'ordre suivant:

Utilisation des types de données intégrés



Supposons que lorsque je prends une entrée de l'utilisateur pour une raison quelconque, Python la prend et la renvoie elle-même sous forme de chaîne. En d'autres termes, même si quelqu'un tape un nombre en entrée, Python le renvoie sous forme de chaîne.

name = input ('Quel est votre nom:') print (name) print (type (name)) age = input ('Quel est votre âge:') print (age) print (type (age))

Production:

Quel est ton nom: Tyra



Tyra

Quel est ton âge: 20 ans

vingt

Vous voyez donc que le type de nom et d’âge pris comme entrée est «String».

Maintenant, supposons que si nous voulons ajouter 5 à l'âge, nous allons faire ce qui suit:

name = input ('Quel est votre nom:') print (name) print (type (name)) age = input ('Quel est votre âge:') print (age) print (type (age)) print (age + 5)

Production:

Quel est ton nom: Tyra

Tyra

Quel est ton âge: 20 ans

vingt

Traceback (dernier appel le plus récent):

Fichier 'C: /Users/prac.py', ligne 9, dans

imprimer (âge + 5)

TypeError: doit être str, pas int

Nous ne pouvons pas ajouter 5 à l'âge car l'âge est de type String et nous ne pouvons pas faire de mathématiques directes avec des chaînes. Nous devons donc changer l'âge en entier car nous avons pris l'âge comme entrée et Python le renvoie sous forme de chaîne.

Par conséquent.

name = input ('Quel est votre nom:') print (name) print (type (name)) age = input ('Quel est votre âge:') print (age) print (type (age)) age = int ( âge) imprimer (âge + 5)

Production:

Quel est ton nom: Tyra

Tyra

Quel est ton âge: 20 ans

test cross browser dans sélénium webdriver

vingt

25

Voie conventionnelle

Supposons que nous ne souhaitons pas utiliser la fonction intégrée int () pour convertir une chaîne en entier.Nous devons donc utiliser le manière conventionnelle convertir.

Voici un moyen simple de procéder à la conversion sans utiliser int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True sinon: start_idx = 0 is_negative = Faux pour i dans la plage (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * chiffre si 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' impression (str_to_int (s))

Production:

123

-123

  • Tout d'abord, nous allons vérifier si le numéro fourni par l'utilisateur contient un signe moins ou non, c'est-à-dire s'il s'agit d'un nombre négatif ou non.S'il contient en première position un signe moins, nous commençons notre conversion à partir de la deuxième position qui contient des nombres.

  • N'importe quel nombre, disons 123, peut être écrit sous la forme -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • De même, nous divisons chacun des nombres d'entrée en utilisant mots (argument) .

  • ord («0») renverra 48, ord («1») renvoie 49 etc.

  • Ici, nous utilisons la logique que ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 etc. qui nous donne le nombre significatif à extraire de la donnée numéro d'entrée.

  • Enfin, la sortie que nous obtenons de la fonction est un entier légitime que nous avons converti à partir de la chaîne d'entrée donnée.

Donc, comme vous pouvez le voir, nous pouvons convertir n'importe quelle chaîne en entier en utilisant la fonction int () ou de la manière conventionnelle.

J'espère que vous avez bien appris les concepts et donc l'essayer pour être plus précis et avec cela, nous arrivons à la fin de cet article sur la conversion d'une chaîne en int en utilisant Python.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce tutoriel de chaîne en entier et nous vous répondrons dans les plus brefs délais.

Pour obtenir des connaissances approfondies sur Python ainsi que sur ses différentes applications, vous pouvez vous inscrire en direct avec une assistance 24/7 et un accès à vie.