Ah c'est un champs prévu pour qu'on y entre des chaines comme des chiffres?
Ben là il faudra faire une vérification caractère par caractère pour determiner si ce que la personne entre est un nombre ou une phrase.
Les codes ascii des caractères 0 à 9 sont compris entre 48 et 57.
Tu peux aussi faire une vérification sur le "." au cas ou la personne entre un nombre réel. Avec ord tu as le code ascii d'un caractère:
def verif(chaine):
float_range=range(48,58)
float_range.append(ord("."))
for caractere in chaine:
if ord(caractere) not in float_range:
return False
return True
Voilà, si ta chaine est un entier ou un float, ça retournera True.
Il faudrait l'affiner, puisqu'elle retournera True même si on ecris "1458.5465.44....." mais au moins tu as une piste.
Une autre manière de faire serait:
try:
int(chaine)
except ValueError:
# Truc à faire si la conversion n'est pas possible (car il n'y a pas que des nombres)