Maison > développement back-end > Tutoriel Python > Comment puis-je convertir correctement les entrées utilisateur en nombres en Python ?

Comment puis-je convertir correctement les entrées utilisateur en nombres en Python ?

Barbara Streisand
Libérer: 2024-12-26 14:24:21
original
875 Les gens l'ont consulté

How Can I Correctly Convert User Input to Numbers in 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: "))
Copier après la connexion

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
Copier après la connexion

De même, pour les valeurs avec des composants fractionnaires, float() peut être utilisé pour une conversion explicite.

x = float(input("Enter a number: "))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal