Module standard Python --module aléatoire

Python fournit le module random, qui peut être utilisé pour générer des nombres pseudo-aléatoires ou tirer au hasard en fonction de données de séquence données

Fonctions communes

une fonction décrire portée
la graine() Spécifiez une graine pour initialiser le générateur de nombres pseudo-aléatoires -
Aléatoire() Générer un nombre à virgule flottante aléatoire [0.0,1.0)
uniforme(x,y) Génère un nombre à virgule flottante aléatoire dans la plage spécifiée [x,y]
randint(x,y) Génère un nombre à virgule flottante aléatoire dans la plage spécifiée [x,y]
randrange (x, y, pas) Dans la plage spécifiée, incrémentez les données en fonction de l'étape et extrayez-en une donnée [x, y)
choix (suite) extraire une donnée de la séquence seq -
mélanger (suite) Organiser aléatoirement la séquence seq (modifier la séquence d'origine) -

Exemples de fonctions couramment utilisées

insérez la description de l'image ici

Petit exemple d'application - utilisation de la méthode de Monte Carlo pour calculer pi

Source d'idées : Le cours de M. Songtian, MOOC de l'Université de Chine

Introduction

En ce qui concerne la méthode de Monte Carlo, l'auteur a cité la définition de celle-ci de l'Encyclopédie : une méthode d'utilisation de nombres aléatoires (ou de nombres pseudo-aléatoires plus courants) pour résoudre de nombreux problèmes informatiques. Pour plus d'informations, veuillez cliquer sur : Encyclopédie Baidu - Méthode de Monte Carlo

Présentation du processus

insérez la description de l'image ici

Supposons que nous connaissions maintenant la formule de calcul de l'aire d'un cercle, mais que nous ne connaissions pas la valeur de pi. À ce moment, il existe un carré avec une longueur de côté de 1 et un ¼ de cercle inscrit dedans. Nous lancer des points dans le carré, et l'emplacement du point de chute de chaque point Au hasard, si suffisamment de points sont lancés, le rapport du nombre de points x qui tombe dans le ¼ de cercle au nombre total de points y lancés est égal au rapport de l'aire du ¼ de cercle au carré

import random
import math

total_num=1000*1000		# 总点数
circle_num=0	# 落在圆中的点数
for i in range(total_num):
    x,y=random.random(),random.random()		# 生成坐标用来表示点的位置
    dist=math.sqrt(x**2+y**2)		# 计算点与原点O的距离以确定点是否在圆内
    if dist<=1.0:
        circle_num+=1		# 计算出圆内点数
pii=4*(circle_num/total_num)	# 根据已知中的等式关系得出计算式
print(f'您得出的圆周率为:{pii}')
print('您的圆周率准确度大约为:{:.6f}'.format(pii/math.pi))	# 我们取math模块中的pi作为标准来查看得出的结果的准确度

résultat de l'opération
insérez la description de l'image ici

En fait, plus le nombre total de points est élevé, plus la précision est élevée et les lecteurs peuvent l'essayer par eux-mêmes.

Je suppose que tu aimes

Origine blog.csdn.net/m0_54510474/article/details/121324023
conseillé
Classement