设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 31690|回复: 27
打印 上一主题 下一主题

【Python 第53课】 数学运算

[复制链接]

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-9-4 13:33:55 |只看该作者 |倒序浏览
今天从打飞机游戏里中断一下,说些python的基础。

在用计算机编程解决问题的过程中,数学运算是很常用的。python自带了一些基本的数学运算方法,这节课给大家介绍一二。

python的数学运算模块叫做math,再用之前,你需要
import math

math包里有两个常量:
math.pi
圆周率π:3.141592...

math.e
自然常数:2.718281...

数值运算:
math.ceil(x)
对x向上取整,比如x=1.2,返回2

math.floor(x)
对x向下取整,比如x=1.2,返回1

math.pow(x,y)
指数运算,得到x的y次方

math.log(x)
对数,默认基底为e。可以使用第二个参数,来改变对数的基底。比如math.log(100, 10)

math.sqrt(x)
平方根

math.fabs(x)
绝对值

三角函数:
math.sin(x)
math.cos(x)
math.tan(x)
math.asin(x)
math.acos(x)
math.atan(x)
注意:这里的x是以弧度为单位,所以计算角度的话,需要先换算

角度和弧度互换:
math.degrees(x)
弧度转角度

math.radians(x)
角度转弧度

以上是你平常可能会用到的函数。除此之外,还有一些,这里就不罗列,可以去
http://docs.python.org/2/library/math.html
查看官方的完整文档。

有了这些函数,可以更方便的实现程序中的计算。比如中学时代算了无数次的
(-b±√(b²-4ac))/2a
现在你就可以写一个函数,输入一元二次方程的a、b、c系数,直接给你数值解。好,这题就留作课后作业吧。

以后我还会不定期地介绍python中的模块,例如random(随机数)、re(正则表达式)、time(时间)、urllib2(网络请求)等等。

#==== Crossin的编程教室 ====#
微信ID:crossincode
论坛:http://crossin.me
QQ群:156630350

面向零基础初学者的编程课
每天5分钟,轻松学编程




#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

沙发
发表于 2013-9-4 17:04:25 |只看该作者
math.log()中的例子>>> math.log(100, base=10)是不对的,应该改为math.log(100, 10)
回复

使用道具 举报

3

主题

0

好友

161

积分

注册会员

Rank: 2

板凳
发表于 2013-9-4 20:20:03 |只看该作者

回帖奖励 +2

笨熊 发表于 2013-9-4 17:04
math.log()中的例子>>> math.log(100, base=10)是不对的,应该改为math.log(100, 10)

顶一下,我试了也不对
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2013-9-5 19:47:41 |只看该作者
笨熊 发表于 2013-9-4 17:04
math.log()中的例子>>> math.log(100, base=10)是不对的,应该改为math.log(100, 10)

谢指出,已改。

因为log是一个cpython函数,所以有些python的特性是不支持的。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

5#
发表于 2013-9-5 20:26:18 |只看该作者
crossin先生 发表于 2013-9-5 19:47
谢指出,已改。

因为log是一个cpython函数,所以有些python的特性是不支持的。 ...

哦~我是菜鸟,只是在练习的时候发现这个不对~谢谢crossin的系列教程,学习了很多~感谢!
回复

使用道具 举报

0

主题

0

好友

32

积分

新手上路

Rank: 1

6#
发表于 2013-9-5 20:56:34 |只看该作者

回帖奖励 +2

什么时候能讲Python的数据库操作!
回复

使用道具 举报

0

主题

0

好友

30

积分

新手上路

Rank: 1

7#
发表于 2013-9-6 20:32:00 |只看该作者

回帖奖励 +2

金币金币~~~~~
回复

使用道具 举报

0

主题

0

好友

389

积分

中级会员

Rank: 3Rank: 3

8#
发表于 2013-9-24 12:51:26 |只看该作者
课后作业

Screenshot.png (24.59 KB, 下载次数: 368)

math53

math53

回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2013-9-24 18:22:29 |只看该作者
fl0w 发表于 2013-9-24 12:51
课后作业


#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

152

积分

注册会员

Rank: 2

10#
发表于 2013-10-2 00:51:33 |只看该作者
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-23 19:10 , Processed in 0.035935 second(s), 38 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部