python中math的使用

import math   #先导入math包

1 三角函数

print math.pi #打印pi的值
3.14159265359
print math.radians(180)  #把度数转化为弧度,即180=pi
3.14159265359
sin90 = math.sin(math.pi/2)  #计算sin(pi/2)
sin180 = math.sin(math.pi) #计算sin(pi)
cos90 = math.cos(math.pi/2) #计算cos(pi/2)
cos180 = math.cos(math.pi) #计算cos(pi)
print 'sin90 is {} ,sin180 is {} ;cos90 is {} ,cos180 is {} .'.format(sin90,sin180,cos90,cos180)
sin90 is 1.0  ,sin180 is 1.22464679915e-16  ;cos90 is 6.12323399574e-17  ,cos180 is -1.0  .

从上面可以看到sin(pi)和cos(pi/2)都不为0,而是一个很接近0的数,这是因为math.pi不是精确的pi。pi是一个无理数,而机器在存储无理数时只会根据精度截取其中一部分,也就是说机器会根据精度用有理数来代替无理数。所以这里的计算会存在一些误差,但这里的误差已经到了10的-16次,这对计算机来说已经非常小了,一般我们要求的误差是10的-5次。

当然啦,我们也可以指定输出浮点数的位数,如下:

print ('%.3f'%(sin180))  #保留3位小数
0.000

2 乘方 开方

#乘方开方,可以借助math中的pow函数
print math.pow(10,3) #10是底数,3是指数
print math.pow(27,1/3)
1000.0
1.0

从上面的结果可以看到math.pow()函数得出的结果是浮点数。如果我们希望乘方的结果是整数的话,我们也可以使用下面的方法。

print 10**3
1000

3 上下取整

print math.floor(3.14)#向下取整
3.0
print math.ceil(3.14)#向上取整
4.0

4 取最大最小值

min(1,100,90,700)  #取最小值
1
max(1,100,90,700)   #取最大值
700

5 求和

sum([1,2,3,4,5])
15

6 同时取商和余数

divmod(10,3)  #求10除以3的商和余数
(3, 1)

python中math常用函数的更多相关文章

  1. python中数据分析常用函数整理

    一. apply函数 作用:对 DataFrame 的某行/列应用函数之后,Apply 返回一些值.函数既可以使用默认的,也可以自定义.注意:在第二个输出中应用 head() 函数,因为它包含了很多行 ...

  2. 举例详解Python中的split()函数的使用方法

    这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下   函数:sp ...

  3. python中的生成器函数是如何工作的?

    以下内容基于python3.4 1. python中的普通函数是怎么运行的? 当一个python函数在执行时,它会在相应的python栈帧上运行,栈帧表示程序运行时函数调用栈中的某一帧.想要获得某个函 ...

  4. numpy函数库中一些常用函数的记录

    ##numpy函数库中一些常用函数的记录 最近才开始接触Python,python中为我们提供了大量的库,不太熟悉,因此在<机器学习实战>的学习中,对遇到的一些函数的用法进行记录. (1) ...

  5. Python中关于Lambda函数的使用总结

    lambda表达式是一种匿名函数,对应python中的自定义函数def,是定义某个函数时比较高级的一种写法.作为python初学者,本文整理了lambda的一些基本用法和特点. lambda和def的 ...

  6. python --- Python中的callable 函数

    python --- Python中的callable 函数 转自: http://archive.cnblogs.com/a/1798319/ Python中的callable 函数 callabl ...

  7. python中使用zip函数出现<zip object at 0x02A9E418>

    在Python中使用zip函数,出现<zip object at 0x02A9E418>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方 ...

  8. [转载]python中multiprocessing.pool函数介绍

    原文地址:http://blog.sina.com.cn/s/blog_5fa432b40101kwpi.html 作者:龙峰 摘自:http://hi.baidu.com/xjtukanif/blo ...

  9. Python 中的isinstance函数

    解释: Python 中的isinstance函数,isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是cla ...

随机推荐

  1. 基于quick-cocos2d-x的LuaSocket范例

    这是一个 luasocket 范例. 为了便于使用,我封装了 luasocket 到 cc.net.SocketTCP 类中.这个范例展示如何使用 cc.net.SocketTCP . 同时,在本范例 ...

  2. quick-cocos2d-x 创建自定义lua绑定c++类

    内容主要参考 “在quick-cocos2d-x中添加自定义的类给lua使用” ( http://www.codeo4.cn/archives/746) 1. quick-coco2d-x 使用 to ...

  3. 用position: fixed;做个遮罩,怎么能让后面的View禁止滑动

    用一个view标签把代码包起来,当模态层出来时给它添加height:100%;position: absolute;overflow: hidden;.模态框消失时去掉样式      

  4. python eval() hasattr() getattr() setattr() 函数使用方法详解

    eval() 函数 --- 将字符串str当成有效的表达式来求值并返回计算结果. 语法:eval(source[, globals[, locals]]) ---> value 参数: sour ...

  5. spark(1.1) mllib 源码分析(三)-朴素贝叶斯

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/4042467.html 本文主要以mllib 1.1版本为基础,分析朴素贝叶斯的基本原理与源码 一.基本原 ...

  6. 微信 openId

    摘要 关于微信开发的话题,例子确实已经有不少,但大部分都是人云亦云,很多小细节或者需要注意的地方却大多没有讲清楚,这令很多刚开始开发的人感觉大很迷茫.而我今天要说的话题,主要着眼于两个方面. 一:如何 ...

  7. ios 页面过长卡顿的情况

    解决方案如下: -webkit-overflow-scrolling: touch;

  8. SQL Server 2008 R2 开启远程连接

    因为sql server 2008默认是不允许远程连接的,sa帐户也是默认禁用的,如果想要在本地用SSMS(SQL Server Management Studio Express) 连接远程服务器上 ...

  9. Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected

    需要注意的是ComponentScan 不能扫描 org.springframework 否则会报错,要扫描指定的package才行

  10. 160801、BlockingQueue处理多线程

    前面介绍过spring的taskExecutor,今天介绍一个jdk里处理多线程的方法 一.spring的配置文件(注入bean) <bean id="cmsClickButtonMn ...