Je veux vérifier si l'entrée est un nombre (float avec 0, un ou deux décimales) et supérieur à 0Vérifier entrée nombre décimal
def getnumber():
print ("write a number: \n")
isValid = False
while not isValid:
try:
number = float(raw_input().replace(",","."))
if number >= 0:
isValid=True
else:
print ("Number not valid")
isValid = False
getnumber()
except:
print ("Number not valid")
return number
je les problèmes suivants:
1- Je ne sais pas comment vérifier s'il n'y a que deux décimales
2- le code ne renvoie pas le numéro si je présente d'abord un nombre négatif
est-ce que quelqu'un sait comment y remédier?
Merci beaucoup
Vous pouvez toujours vérifier la chaîne pour voir s'il y a un seul '.' et 2 caractères après la période. – nbryans
Je ne sais pas pourquoi vous remplacez les virgules par des virgules décimales. – holdenweb
dang, pourquoi tant de personnes utilisent une boucle while ** et récursion ** pour obtenir des entrées? supprimer l'appel à 'getnumber()' à l'intérieur de la fonction résoudra # 2. –