We have seen the most basic mathematical operation functions of Python inPythonoperations. In addition,math packagehas been supplemented with morefunctions. Of course, if you want more advanced mathematical functions, you can consider choosing thenumpyandscipyprojects outside the standard library. They not only Supportsarrayand matrix operations, and a wealth of mathematical and physical equations are available.
In addition, therandom packagecan be used to generaterandom numbers. Random numbers can not only be used for mathematical purposes, but are often embedded into algorithms to improve algorithm efficiency and improve program security.
math package mainly handles math-related operations. The math package defines two constants:
math.e # 自然常数e math.pi # 圆周率pi
In addition, the math package also has various calculation functions(For the functions of the following functions, please refer to the mathematics manual):
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。可以使用base参数,来改变对数的基地。比如math.log(100,base=10) math.sqrt(x) # 平方根 三角函数: math.sin(x), math.cos(x), math.tan(x), math.asin(x), math.acos(x), math.atan(x)
These functions all receive a radian x in (radian) units as a parameter.
角度和弧度互换: math.degrees(x), math.radians(x) 双曲函数: math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x) 特殊函数: math.erf(x), math.gamma(x)
# #If you already understand the principle of pseudo-random number, then you can use the following:
random.seed(x)
To change the seed of the random numbergenerator.If you don’t understand the principle, you don’t have to set the seed specifically, Python will choose the seed for you.
##1) Random selection and sorting
random.choice(seq) # 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 random.sample(seq,k) # 从序列中随机挑选k个元素 random.shuffle(seq) # 将序列的所有元素随机排序
2) Randomly generatereal numbers
The real numbers generated below conform to the uniform distribution, which means that every number within a certain range appears Equal probabilities:
##
random.random() # 随机生成下一个实数,它在[0,1)范围内。 random.uniform(a,b) # 随机生成下一个实数,它在[a,b]范围内。
The real numbers generated below conform to other distributions (you can refer to some Statistics books to understand these distributions):
random.gauss(mu,sigma) # 随机生成符合高斯分布的随机数,mu,sigma为高斯分布的两个参数。 random.expovariate(lambd) # 随机生成符合指数分布的随机数,lambd为指数分布的参数。
In addition, there are logarithmic distribution, normal distribution, Pareto distribution, and Weibull distribution. Please refer to the following link:
##
docs.python.org/library/random.html
假设我们有一群人参加舞蹈比赛,为了公平起见,我们要随机排列他们的出场顺序。我们下面利用random包实现:
import random all_people = ['Tom', 'Vivian', 'Paul', 'Liya', 'Manu', 'Daniel', 'Shawn'] random.shuffle(all_people)for i,name in enumerate(all_people): print(i,':'+name)
【相关推荐】
3.分享一篇Python中random(随机生成数)的实例教程
4.分享Python random生成某区间内不重复的N个随机数的方法实例
5.Python random模块(获取随机数)常用方法和使用例子
The above is the detailed content of Detailed explanation of mathematics and random numbers in the Python standard library (math package, random package). For more information, please follow other related articles on the PHP Chinese website!