Sto cercando di utilizzare NumPy per verificare se un input dell'utente è numerica, Ho provato con:NumPy - Utilizzando 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"
Su di essa la propria e funziona benissimo, ma quando ho integrarlo in una funzione come in questo caso:
da import 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)
tanto sono un NotImplementationError dicendo che non è implementata per questo tipo, qualcuno può spiegare come questo non funziona?
Qualsiasi aiuto sarebbe molto apprezzato e grazie ancora.
il tuo obiettivo è verificare se il valore immesso dall'utente è un numero valido? –
@SvenMarnach Sì, ho pensato che sarebbe stato meglio usare semplicemente: se type (a)! = Int o type (a)! = Float: –
1. evita 'da numpy import *', potresti 'importare numpy come np' e poi usare 'np.isnan()', ecc. 2. Non confrontare con 'True' direttamente usare' if np.isnan (a) '. 3. 'input()' fa 'eval (raw_input (prompt))' probabilmente non è quello che vuoi. – jfs