Python如何计算三角函数? 我尝试使用
计算x = ((0.1-0.001)/2)*math.sin(((1/20)*math.pi*20)+(0.5*math.pi*1))+((0.1-0.001)/2)+0.001
我正在
x = 0.1
为什么?通常的计算器(弧度)我得到0.001
答案 0 :(得分:4)
在Python 2中,/
是整数除法,您需要为浮动除法导入__future__ .division
:
>>> from __future__ import division
>>> import math
>>> x = ((0.1-0.001)/2)*math.sin(((1/20)*math.pi*20)+(0.5*math.pi*1))+((0.1-0.001)/2)+0.001
>>> x
0.001
答案 1 :(得分:3)
在python2.x,python takes the floor of integer division。因此,您需要从程序顶部的division
库中导入__future__
。
from __future__ import division
x = ((0.1-0.001)/2)*math.sin(((1/20)*math.pi*20)+(0.5*math.pi*1))+((0.1-0.001)/2)+0.001
print x
答案 2 :(得分:1)
只需使用2
float 2.0
之类的整数,否则Python 2.x使用整数除法,也称为 floor division (向负无穷大舍入,例如{{ 1}}给出-9/8
,-2
给出9/8
),将整数除以其他整数(无论是普通还是长整数):
1
和
x = ((0.1-0.001)/2.0)*math.sin(((1/20.0)*math.pi*20)+(0.5*math.pi*1))+((0.1-0.001)/2.0)+0.001