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.
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.