python-04 算术模块

python-04 算术模块

1、math模块

1
2
3
4
5
6
math.sin()
math.cos()
math.tan()
math.pi
Π = 3.14159… math.log(x,a) #以a为底的x的对数
math.pow(x,y) #x的y次方

2、cmath模块

1
2
3
4
5
6
cmath.polar()      极坐标 
cmath.rect() 笛卡尔坐标
cmath.exp(x) e的x次方
cmath.log(x,a) 以a为底的x的对数
cmath.log10(x) 以10为底x的对数
cmath.sqrt(x) x的平方根

3、decimal模块

1
2
3
4
5
6
7
8
#小数-固定精度的浮点值
0.1+0.1+0.1-0.3=5.551115123125783e-17

#生成小数
from decimal import Decimal Decimal('0.1')

#小数计算
Decimal('0.1')+Decimal('0.1')+Decimal('0.1 0')-Decimal('0.3') Out:Decimal('0.00')

4、fractions模块

1
2
3
4
5
6
7
8
#分数-实现了一个有理数对象
#生成分数
from fractions import Fraction
Fraction(1,4)/Fraction('0.25')

浮点数转换为分数
Fraction.from_float(1.75)
  尽管可以把浮点数转换为分数,在某些情况下,这么做会有不可避免的精度损失,因为这个数字在其最初的浮点形式上是不精确的。

5、random模块

1
2
3
4
5
6
7
8
9
10
11
12
伪随机数:计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可预见的
随机数种子:随机种子相同,随机数的序列也是相同的
random.seed(a=None)

random(),生成范围在[0,1)之间的随机实数
uniform(),生成指定范围的内的随机浮点数
randint(m,n),生成指定范围[m,n]内的整数
randrange(a,b,n),可以在[a,b)范围内,按n递增的集合中随机选择一个数
getrandbits(k),生成k位二进制的随机整数
choice(),从指定序列中随机选择一个元素
sample(),能指定每次随机元素的个数
shuffle(),可以将可变序列中所有元素随机排序

实例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> import random
>>> ulist=['aaa','bbb','ccc','ddd']
>>> random.choice(ulist)
'ccc'
>>> random.choice(ulist)
'ccc'
>>> random.choice(ulist)
'bbb'
>>> random.choice(ulist)
'ddd'
>>> random.sample(ulist,2)
['ccc', 'bbb']
>>> random.sample(ulist,2)
['bbb', 'ccc']
>>> random.sample(ulist,2)
['ccc', 'bbb']
>>> random.sample(ulist,2)
['ccc', 'ddd']
>>> random.sample(ulist,2)
['ddd', 'bbb']
>>> random.shuffle(ulist)
>>> ulist
['bbb', 'ddd', 'aaa', 'ccc']
>>>
欢迎打赏,谢谢
------ 本文结束------
0%