当我在其中使用局部变量时,为什么 eval 函数无法识别三角函数?
why eval function is not recognizing trigonometric when I am using local variable in it?
这是代码
equation1 = input("Please Enter an equation")
a = float(input("For a = "))
c = eval(equation1)
当我输入包含 cos、tan、sin 和 ln 函数的方程时;即:a*cos(a)
我收到这个错误:
c = eval(equation1)
File "<string>", line 1, in <module>
TypeError: cos() takes exactly one argument (0 given)
像 a*cos(90)、a**2+cos(90) 这样的输入工作正常,我的应用程序被构建为通用的。用户可以给任何值有什么办法可以解决吗?
首先需要from math import cos
.
当我 运行 和 PyCharm 时,我得到了和你一样的异常。
然后我添加了print(equation1)
,发现当我输入cos(a)
时,打印了cos()
。
一开始以为input
函数有问题,但是一直找不到原因
然后我 运行 它直接从终端命令行使用 python xx.py
它工作正常。
所以可能是PyCharm
window不认识括号里的内容
这是代码
equation1 = input("Please Enter an equation")
a = float(input("For a = "))
c = eval(equation1)
当我输入包含 cos、tan、sin 和 ln 函数的方程时;即:a*cos(a)
我收到这个错误:
c = eval(equation1)
File "<string>", line 1, in <module>
TypeError: cos() takes exactly one argument (0 given)
像 a*cos(90)、a**2+cos(90) 这样的输入工作正常,我的应用程序被构建为通用的。用户可以给任何值有什么办法可以解决吗?
首先需要from math import cos
.
当我 运行 和 PyCharm 时,我得到了和你一样的异常。
然后我添加了print(equation1)
,发现当我输入cos(a)
时,打印了cos()
。
一开始以为input
函数有问题,但是一直找不到原因
然后我 运行 它直接从终端命令行使用 python xx.py
它工作正常。
所以可能是PyCharm
window不认识括号里的内容