1.math简介
复制代码 代码如下:
> import math
>dir(math)          #这句可查看所有函数名列表
>help(math)         #查看具体定义及函数0原型

2.常用函数

复制代码 代码如下:
ceil(x) 取顶
floor(x) 取底
fabs(x) 取绝对值
factorial (x) 阶乘
hypot(x,y)  sqrt(x*x+y*y)
pow(x,y) x的y次方
sqrt(x) 开平方
log(x)
log10(x)
trunc(x)  截断取整数部分
isnan (x)  判断是否NaN(not a number)
degree (x) 弧度转角度
radians(x) 角度转弧度

另外该模块定义了两个常量:
复制代码 代码如下:
e = 2.718281828459045
pi = 3.141592653589793

random

1.简介

random是用于生成随机数,我们可以利用它随机生成数字或者选择字符串
复制代码 代码如下:
import random

2.常用函数

random.random()
用于生成一个随机浮点数:range[0.0,1.0)
复制代码 代码如下:
> import random
> random.random()
0.999410896951364
random.uniform(a,b)

用于生成一个指定范围内的随机浮点数,a,b为上下限

只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a
复制代码 代码如下:
> random.uniform(10,20)
13.224754825064881
> random.uniform(20,10)
14.104410713376437
> random.uniform(10,10)
10.0

random.randint(a,b)
用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a<=n<=b;

若a=b,则n=a;若a>b,报错
复制代码 代码如下:
> random.uniform(10,10)
10.0
> random.randint(10,20)
15
> random.randint(10,10)
10
> random.randint(20,10)
Traceback (most recent call last):
……
ValueError: empty range for randrange() (20,11, -9)

random.randrange([start], stop, [,step])
从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
复制代码 代码如下:
> random.randrange(10,100,5)
95
> random.randrange(10,100,5)
45

random.choice(sequence)
从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等
复制代码 代码如下:
> random.choice([1,2,3,4])
1
> random.choice([1,2,3,4])
3
> random.choice('hello')
'e'

random.shuffle(x[, random])
用于将一个列表中的元素打乱
复制代码 代码如下:
> a = [1,2,3,4,5]
> random.shuffle(a)
> a
[4, 5, 2, 1, 3]
> random.shuffle(a)
> a
[3, 2, 5, 1, 4]

random.sample(sequence, k)
从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列
复制代码 代码如下:
> a = [1,2,3,4,5]
> random.sample(a,3)
[1, 4, 5]
> random.sample(a,3)
[1, 2, 5]
> a
[1, 2, 3, 4, 5]

decimal

1.简介

默认,浮点数学缺乏精确性

decimal 模块提供了一个 Decimal 数据类型用于浮点数计算。相比内置的二进制浮点数实现 float这个类型有助于

金融应用和其它需要精确十进制表达的场合,
控制精度,
控制舍入以适应法律或者规定要求,
确保十进制数位精度,或者用户希望计算结果与手算相符的场合。
Decimal 重现了手工的数学运算,这就确保了二进制浮点数无法精确保有的数据精度。 高精度使 Decimal 可以执行二进制浮点数无法进行的模运算和等值测试。

2.使用

复制代码 代码如下:
> from decimal import Decimal
> Decimal('0.1') / Decimal('0.3')
Decimal('0.3333333333333333333333333333')

> from decimal import getcontext
> getcontext().prec = 4 #设置全局精度
> Decimal('0.1') / Decimal('0.3')
Decimal('0.3333')   

fractions
分数类型

构造

复制代码 代码如下:
> from fractions import Fraction
> Fraction(16, -10)  #分子分母
Fraction(-8, 5)
> Fraction(123)   #分子
Fraction(123, 1)

> Fraction('3/7')   #字符串分数
Fraction(3, 7)

> Fraction('-.125')  #字符串浮点数
Fraction(-1, 8)

> Fraction(2.25)  #浮点数
Fraction(9, 4)

> from decimal import Decimal
> Fraction(Decimal('1.1')) #Decimal
Fraction(11, 10)

计算
复制代码 代码如下:
> from fractions import Fraction
> a = Fraction(1,2)
> a
Fraction(1, 2)
> b = Fraction('1/3')
> b
Fraction(1, 3)
> a + b
Fraction(5, 6)
> a - b
Fraction(1, 6)

标签:
python,数字处理

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“python基础教程之数字处理(math)模块详解”
暂无“python基础教程之数字处理(math)模块详解”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。