Résolue

Solution projet calculatrice pour un input de type float ou int

# Types natifs # Scripting

Quelle serait la solution pour que le script puisse fonctionner avec des entrées int et float ?

Bonsoir Laura :)


On pourrait simplement utiliser la fonction float au lieu de int :

a = input("Entrez un premier nombre : ")
b = input("Entrez un deuxième nombre : ")

print(f"Le résultat de l'addition de {a} avec {b} est {float(a) + float(b)}")


Il faut cependant que l'utilisateur rentre des nombres avec la décimale séparée par un point et non une virgule :

>>> Entrez un premier nombre : 2.4
>>> Entrez un deuxième nombre : 3.1
"Le résultat de l'addition de 2.4 avec 3.1 est 5.5"


On pourrait améliorer le script pour détecter si l'utilisateur rentre des nombres valides (on voit un exemple dans la suite de la formation avec la fonction isdigit à ce sujet).

Bonjour à tous ,


j'ai fait ce bout de code afin qu'il prenne en compte toutes les possibilités (addition de int + int ou int + float ou float + float)


nb1 = input("Entrez un premier nombre : ")
nb2 = input("Entrez un deuxième nombre : ")

if nb1.find(".") == -1: # test si c'est un nombre entier
    nb1=int(nb1)
elif nb1.find(".") != -1: # test si c'est un nombre decimal
    nb1=float(nb1)

if nb2.find(".") == -1: # test si c'est un nombre entier
    nb2=int(nb2)
elif nb2.find(".") != -1: # test si c'est un nombre decimal
    nb2=float(nb2)

print(f"Le résultat de l'addition de {nb1} avec {nb2} est égal à {nb1 + nb2}")


qu'en pensez vous ? Je pense que ça peut encore être amélioré ....

Salut Yegor,


pas mal. Mais peut etre que tu te compliques la vie. En maths, l'ensemble des nombre entiers est compris dans l'ensemble des nombres réels (les float). Du coup tu peux faire tout simplement


float(nb)

par contre attention car ici tu ne contrôles pas si l'utilisateur entres autre chose q'une nombre. Il peut entrer une chaines de caractère comme "hello" et là float(nb) ou int(nb) te renverras une erreur.


N'hésites pas si ce n'est pas clair.

Ah oui bien vu pour l'histoire des ensembles, je n'y ai pas pensé 😁 , merci P-A

En effet, prochaine étape, faire un test si le user rentre autre chose qu'un nombre


Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.