NumPy - Mit isnan(x)

Ich versuche, numpy, um zu überprüfen, ob ein Benutzer Eingabe ist numerisch, habe ich versucht mit:

from numpy import *

a = input("\n\nInsert A: ")

if isnan(a) == True:
    print 'Not a number...'
else:
    print "Yep,that's a number"

Auf seine eigene und es funktioniert gut, aber wenn ich Betten es in eine Funktion wie in diesem Fall:

from numpy import *

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)

Dann bekomme ich eine NotImplementationError sagen, es ist nicht implementiert, für diese Art, kann mir jemand erklären, wie das funktioniert nicht?

Jede Hilfe wäre sehr geschätzt, danke nochmal.

Ist es dein Ziel, um zu testen, ob der Wert, den der Benutzer eingegeben wird, eine gültige Nummer?
Ja, ich glaubte es würde besser sein, als mit einfach: wenn Typ(a) != int oder Typ(a) != float:
1. vermeiden from numpy import * Sie konnte import numpy as np und später verwenden np.isnan() usw. statt. 2. Nicht zu vergleichen mit True direkt verwenden if np.isnan(a) statt. 3. input() hat eval(raw_input(prompt)) es ist wahrscheinlich nicht das, was Sie wollen.
für die Erwähnung eval

InformationsquelleAutor George Burrows | 2011-12-14

Schreibe einen Kommentar