Résolue

Calculatrice

# Variables # Algorithmes # Performances

Bonjour, je cherche à améliorer ma calculatrice avec cette algo :


Tant que mavariable.isdigit() retourne False : faire mon truc.

ou encore isnan() dans le cas où je cast directement mes inputs...


Je ne parviens pas à trouver la syntaxe de python pour y parvenir, est-il au moins possible de procéder de cette façon?

Un de mes essais a fini par fonctionner, néanmoins je souhaiterais voir une version améliorée de ce que j'ai écrit s'il vous plaît...

a,b = "",""
while a.isdigit() == False :
    a = input("Entrer un premier nombre : ")

while b.isdigit() == False :
    b = input("Entrer un deuxième nombre : ")

print(f"Le résultat de {a} + {b} = {int(a)+int(b)}")

Bonjour Céline,


Tu peux utiliser cette syntaxe par exemple :

mvariable = ""
While not mavariable.isdigit():
  mavariable = input("Entrez un nombre : ")

print(mavariable)


En ce qui concerne isnan(), je ne connais pas.

J'espère que ça pourra t'aider

Pour améliorer ton code, tu peux faire ceci :


a,b = "",""
while (not a.isdigit()) or (not b.isdigit()):
    a = input("Entrer un premier nombre : ")
    b = input("Entrer un deuxième nombre : ")

print(f"Le résultat de {a} + {b} = {int(a)+int(b)}")


La fonction isdigit() retourne soit True soit False donc tu peux tester directement cette fonction sans faire == False

Merci à vous pour ce fameux "not" je ne l'avais pas encore vu passer et j'étais habituée à "!=" à la place ^^.

Merci également pour le "or" que j'utiliserai dans d'autres circonstances vu qu'ici l'utilisateur sera obligé de renseigner à nouveau la valeur de a dans le cas où b ne serait pas un nombre. :)

Il existe aussi le "and", ce qui donnerai pour ton code :

a,b = "",""
while not (a.isdigit() and b.isdigit()):
    a = input("Entrer un premier nombre : ")
    b = input("Entrer un deuxième nombre : ")

print(f"Le résultat de {a} + {b} = {int(a)+int(b)}")


Et cela fait exactement la même chose


et il y a encore bien des façons pour arriver au même résultat comme avec la fonction isinstance() qui permet de tester le type de ta variable, mais tu ne l'as peut être pas encore vu pour le moment, donc je ne t'en dit pas plus


Tu auras aussi une vidéo sur "and" "or" et "not" qui explique vraiment comment cela fonctionne et dans quels cas tu peux les utiliser.


Voilà, bonne continuation.

Salut Céline,


je n'ai rien à dire de plus que Romuald. 👍


Juste le isnan() à ma connaissance c'est à utiliser avec la lib numpy.

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.