Heim >Backend-Entwicklung >Python-Tutorial >Ausführliche Erläuterung von Mathematik und Zufallszahlen in der Python-Standardbibliothek (Mathe-Paket, Zufallspaket)
Wir haben die grundlegendsten mathematischen Operationsfunktionen von Python in Python-Operationen gesehen. Darüber hinaus fügt das Mathe-Paket weitere Funktionen hinzu. Wenn Sie fortgeschrittenere mathematische Funktionen wünschen, können Sie natürlich die Projekte numpy und scipy außerhalb der Standardbibliothek auswählen Unterstützt nicht nur Array- und Matrixoperationen, sondern es steht auch ein umfangreicher Satz mathematischer und physikalischer Gleichungen zur Verfügung.
Darüber hinaus kann das Random-Paket zur Generierung von Zufallszahlen verwendet werden. Zufallszahlen können nicht nur für mathematische Zwecke verwendet werden, sondern werden häufig in Algorithmen eingebettet, um die Algorithmuseffizienz und die Programmsicherheit zu verbessern.
Mathe-Paket behandelt hauptsächlich mathematische Operationen. Das Mathematikpaket definiert zwei Konstanten:
math.e # 自然常数e math.pi # 圆周率pi
Darüber hinaus verfügt das Mathematikpaket auch über verschiedene Operationsfunktionen (Die Funktionen der folgenden Funktionen finden Sie im Mathematikhandbuch):
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)
Diese Funktionen akzeptieren beide ein x im Bogenmaß als 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)
Wenn Sie das Prinzip der Pseudozufallszahl bereits verstehen, können Sie Folgendes verwenden:
random.seed(x)
um den Startwert des Zufallszahlengenerators zu ändern. Wenn Sie das Prinzip nicht verstehen, müssen Sie den Startwert nicht speziell festlegen. Python wählt den Startwert für Sie aus.
1) Zufällige Auswahl und Sortierung
random.choice(seq) # 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 random.sample(seq,k) # 从序列中随机挑选k个元素 random.shuffle(seq) # 将序列的所有元素随机排序
2) Generiere zufällig reelle Zahlen
Die unten generierten reellen Zahlen entsprechen einer Gleichverteilung, d. h. jede Zahl liegt innerhalb eines bestimmten Bereichs. Die Wahrscheinlichkeit von Vorkommen ist gleich:
random.random() # 随机生成下一个实数,它在[0,1)范围内。 random.uniform(a,b) # 随机生成下一个实数,它在[a,b]范围内。
Die unten generierten reellen Zahlen entsprechen anderen Verteilungen ( Sie können auf einige Statistikbücher zurückgreifen, um diese Verteilungen zu verstehen):
random.gauss(mu,sigma) # 随机生成符合高斯分布的随机数,mu,sigma为高斯分布的两个参数。 random.expovariate(lambd) # 随机生成符合指数分布的随机数,lambd为指数分布的参数。
Darüber hinaus gibt es Logarithmische Verteilung, Normalverteilung, Pareto-Verteilung und Weibull-Verteilung. Bitte beachten Sie den folgenden 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)
【相关推荐】
1. 分享Python中random模块生成随机数的实例教程
3. 分享一篇Python中random(随机生成数)的实例教程
4. 分享Python random生成某区间内不重复的N个随机数的方法实例
5. Python random模块(获取随机数)常用方法和使用例子
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Mathematik und Zufallszahlen in der Python-Standardbibliothek (Mathe-Paket, Zufallspaket). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!