Estoy intentando utilizar numpy para comprobar si una entrada de usuario es numérico, He intentado usar:NumPy - Uso isnan (x)
from numpy import *
a = input("\n\nInsert A: ")
if isnan(a) == True:
print 'Not a number...'
else:
print "Yep,that's a number"
por sí mismo y sin embargo cuando se trabaja muy bien, me incrustarlo en una función, como en este caso:
de importación numpy *
def test_this(a):
if isnan(a) == True:
print '\n\nThis is not an accepted type of input for A\n\n'
raise ValueError
else:
print "Yep,that's a number"
a = input("\n\nInsert A: ")
test_this(a)
cuando me siento un NotImplementationError diciendo que no está implementado para este tipo, alguien puede explicar cómo esto no está funcionando?
Cualquier ayuda sería muy apreciada y gracias de nuevo.
es su objetivo para probar si el valor que el usuario introducido es un número válido? –
@SvenMarnach Sí, asumí que sería mejor que usar simplemente: si escribe (a)! = Int o escribe (a)! = Float: –
1. evite 'from numpy import *', podría 'importar numpy como np' y luego use 'np.isnan()', etc. en su lugar. 2. No compare con 'True' directamente use' if np.isnan (a) 'en su lugar. 3. 'input()' hace 'eval (raw_input (prompt))' lo más probable es que no sea lo que quiere. – jfs