Maison >développement back-end >Tutoriel Python >Comment puis-je convertir correctement les entrées utilisateur en nombres en Python ?
Fonction d'entrée Python : conversion des interactions utilisateur en nombres
En Python, la fonction input() est utilisée pour lire les entrées de l'utilisateur. Cependant, le résultat de input() est une chaîne plutôt que le nombre prévu, ce qui entraîne des résultats inattendus lors de l'exécution d'opérations arithmétiques. Comprendre pourquoi cela se produit est crucial pour garantir un traitement précis des données.
Cause des entrées de chaîne
Depuis Python 3, input() renvoie une chaîne au lieu d'un entier. En effet, la fonction d'entrée lit la réponse de l'utilisateur textuellement sans effectuer aucune évaluation ni conversion de type.
Solution : conversion de type explicite
Pour convertir l'entrée en un entier, il est nécessaire de le convertir explicitement à l'aide de la fonction int(). Cela garantit que la variable résultante est du type de données correct. Le code suivant illustre l'approche correcte :
x = int(input("Enter a number: ")) y = int(input("Enter a number: "))
Ce code modifié lira les entrées utilisateur sous forme de chaînes, puis les convertira en entiers avant d'effectuer des opérations arithmétiques, résolvant ainsi le problème rencontré dans l'extrait de code d'origine.
Conversions de base et nombres à virgule flottante
De plus, Python vous permet pour spécifier la base du numéro d'entrée lors de l'utilisation de int(). Cela permet d'accepter des nombres dans différentes bases, telles que binaire, octale ou hexadécimale.
data = int(input("Enter a number: "), 8) # Reads an octal number
De même, pour les valeurs avec des composants fractionnaires, float() peut être utilisé pour une conversion explicite.
x = float(input("Enter a number: "))
Différences entre Python 2 et Python 3
Utilisateur géré par Python 2 entrées différemment par rapport à Python 3. Dans Python 2, la fonction input() évaluait les entrées de l'utilisateur et les convertissait automatiquement en un entier. Cependant, dans Python 3, cette conversion automatique a été supprimée, nécessitant une conversion de type explicite à l'aide de int().
Conclusion
En comprenant les différences entre Python 2 et Python 3 et en appliquant une conversion de type explicite, les développeurs peuvent garantir une gestion précise des nombres pour les entrées utilisateur, conduisant à un code Python robuste et fiable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!