Maison  >  Article  >  développement back-end  >  Explication détaillée des mathématiques et des nombres aléatoires dans la bibliothèque standard Python (package mathématique, package aléatoire)

Explication détaillée des mathématiques et des nombres aléatoires dans la bibliothèque standard Python (package mathématique, package aléatoire)

零下一度
零下一度original
2017-05-20 14:51:082285parcourir

Nous avons vu les fonctions d'opérations mathématiques les plus élémentaires de Python dans les opérations Python. De plus, le package mathématique ajoute plus de fonctions. Bien sûr, si vous souhaitez des fonctions mathématiques plus avancées, vous pouvez envisager de choisir les projets numpy et scipy en dehors de la bibliothèque standard. non seulement prend en charge les opérations tableau et matricielles, et un riche ensemble d'équations mathématiques et physiques est disponible.

De plus, le package aléatoire peut être utilisé pour générer des nombres aléatoires. Les nombres aléatoires peuvent non seulement être utilisés à des fins mathématiques, mais sont souvent intégrés dans des algorithmes pour améliorer l'efficacité des algorithmes et améliorer la sécurité des programmes.

package mathématique

le package mathématique gère principalement les opérations liées aux mathématiques. Le package mathématique définit deux constantes :

math.e   # 自然常数e
math.pi  # 圆周率pi

De plus, le package mathématique dispose également de diverses fonctions d'opération (Pour les fonctions des fonctions suivantes, veuillez vous référer au manuel de mathématiques) :

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)

Ces fonctions acceptent toutes deux un x en radians comme paramètre.

角度和弧度互换: 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)

forfait aléatoire

Si vous comprenez déjà le principe du nombre pseudo-aléatoire, alors vous pouvez utiliser ce qui suit :

random.seed(x)

pour changer la graine du générateur de nombres aléatoires . Si vous ne comprenez pas le principe, vous n'êtes pas obligé de définir la graine spécifiquement, Python choisira la graine pour vous.

1) Sélection et tri aléatoires

random.choice(seq)   # 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
random.sample(seq,k) # 从序列中随机挑选k个元素
random.shuffle(seq)  # 将序列的所有元素随机排序

2) Générer aléatoirement des nombres réels

Les nombres réels générés ci-dessous se conforment à une distribution uniforme, c'est-à-dire que chaque nombre dans une certaine plage La probabilité de l'occurrence est égale :

random.random()          # 随机生成下一个实数,它在[0,1)范围内。
random.uniform(a,b)      # 随机生成下一个实数,它在[a,b]范围内。

Les nombres réels générés ci-dessous sont conformes aux autres distributions ( Vous pouvez vous référer à quelques ouvrages de statistiques pour comprendre ces répartitions) :

random.gauss(mu,sigma)    # 随机生成符合高斯分布的随机数,mu,sigma为高斯分布的两个参数。 
random.expovariate(lambd) # 随机生成符合指数分布的随机数,lambd为指数分布的参数。

De plus, il existe la distribution logarithmique, la distribution normale, la distribution de Pareto et la distribution de Weibull. Veuillez vous référer au lien suivant :
.

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)

【相关推荐】

1. 分享Python中random模块生成随机数的实例教程

2. Python random() 函数的实例教程

3. 分享一篇Python中random(随机生成数)的实例教程

4. 分享Python random生成某区间内不重复的N个随机数的方法实例

5. Python random模块(获取随机数)常用方法和使用例子

6. Python random模块常用方法

7. Python 模块学习:random 随机数生成

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn