【发布时间】:2017-01-16 09:13:13
【问题描述】:
这是我的代码
import math
try:
valor = float(input("Give a real number "))
print("Your value given is: ", value)
except ValueError:
print("You gave a value not interpretable as a real onel!!")
当我输入sqrt(2) 时,我得到了这个错误,有人知道为什么吗?
%run "c:\users\aar15\appdata\local\temp\tmpvzauzz.py"
Give a real number sqrt(2)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
c:\users\aar15\appdata\local\temp\tmpvzauzz.py in <module>()
1 import math
2 try:
----> 3 valor = float(input("Give a real number "))
4 print("Your value given is: ", value)
5 except ValueError:
C:\Users\aar15\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.6.1.3253.win-x86_64\lib\site-packages\IPython\kernel\zmq\ipkernel.pyc in <lambda>(prompt)
C:\Users\aar15\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.6.1.3253.win-x86_64\lib\site-packages\IPython\kernel\zmq\ipkernel.pyc in <module>()
NameError: name 'sqrt' is not defined
【问题讨论】:
-
也许 sqrt(2) 被解释为需要 eval() 才能转换为浮动的字符串?或者你需要 math.sqrt(2)。最好测试一下 valor=float(sqrt(2))) 是否会出错。
标签: python math input nameerror