python 数学运算

本篇主要介绍math库、random库及round函数,对数字对处理及日常使用

1、math库常用函数

import math

# 1、取大于等于x的最小整数值,如果x是一个整数,则返回x本身
print(math.ceil(4.17))
print(math.ceil(4))
print(math.ceil(-4.17))

输出结果:
5
4
-4

# 2、取小于等于x的最小整数值,如果x是一个整数,则返回x本身
print(math.floor(4.17))
print(math.floor(4))
print(math.floor(-4.17))

输出结果:
4
4
-5

# 3、用于取绝对值,返回的是一个浮点数
print(math.fabs(4.90))
print(math.fabs(-3))
print(math.fabs(5))

输出结果:
4.9
3.0
5.0

# 4、主要用于列表或其它迭代器类型的变量,对里面的每个元素求和,返回的是浮点数
list_number = [1,2,3,4,5]
tuple_number = (1,2,3,4,5)
print(math.fsum(list_number))
print(math.fsum(tuple_number))

输出结果:
15.0
15.0

# 5、用于幂对运算,math.pow(x,y),及x的y次方,输出浮点数
print(math.pow(3,5))
print(math.pow(2,3))

输出结果:
243.0
8.0

# 6、数学的开方操作:math.sqrt(x),输出浮点数
print(math.sqrt(8))
print(math.sqrt(4))
print(math.sqrt(3))


输出结果:
2.8284271247461903
2.0
1.7320508075688772

2、random库常用函数

import random

# 1、左闭右开,随机取[0.0,1.0)区间,返回精准的浮点数
print(random.random())

随机结果:
0.5570753714000184
0.09053825318331232
0.9738326548048176

# 2、随机取生成【a,b】闭区间的随便小数,返回精准浮点数
random_number =  random.uniform(1,9)
print(random_number)

随机结果:
6.586778213227266
4.067557311047215

# 3、左右都是闭区间,随机取【a,b】区间整数;
random_number = random.randint(1,90)
print(random_number)

随机结果:
66
19

# 4、左闭右开区间,随机取【a,b)区间整数;
random_number = random.randrange(1,90)
print(random_number)

随机结果:
1
82


# 5、随机取列表/元组中的值,闭区间,能够取到任意列表中的值
random_list = [1,"hello",100,(2,3,1,2,1)]
print(random.choice(random_list))

随机结果:
hello
100
(2,3,1,2,1)

random_tuple = (1,2,3,4,5)
print(random.choice(random_tuple))

随机结果:
1
4

# 6、随机打乱列表顺序(不能用于元组,因为元组不能update)
list_number = [1,2,3,4,5,6,7]
random.shuffle(list_number)
print(list_number)

随机结果:
[4, 3, 7, 6, 2, 1, 5]
[6, 7, 5, 2, 4, 3, 1]


# 7、random.sample(list, number)在列表中随机取出n个元素,适用于元组,返回列表类型
list_number = [1,2,3,4,5,6]
print(random.sample(list_number, 3))

随机结果:
[4, 6, 3]
[1, 4, 6]

tuple_number = (1,2,3,4,5,6)
print(random.sample(tuple_number, 3))
print(type(random.sample(tuple_number,32)))


随机结果:
[5, 3, 2]
<class 'list'>

3、round函数

# round( x [, n]  ),四舍五入,可以精准到小数或者整数
# x为需要精准的对象,n为需要精准的小数位数

print ("round(70.23456) : ", round(70.23456))
print ("round(70.53456) : ", round(70.23456))

print ("round(56.659, 1) : ", round(56.659,1))
print ("round(80.264, 2) : ", round(80.264, 2))
print ("round(100.000056, 3) : ", round(100.000056, 3))
print ("round(-100.000056, 3) : ", round(-100.000056, 3))

输出结果:
round(70.23456) :  70
round(70.53456) :  71
round(56.659, 1) :  56.7
round(80.264, 2) :  80.26
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值