{}
Finally, a Python course that's visual, but not video.
Try it yourself!
Finally, a Python course that's visual, but not video.
Try it yourself!
run-icon
main.py
import numpy as np def rapport_racines_reelles_bornes(M, n=10000000): # Tirage de b dans [-2M, 2M] et de c dans [-M^2, M^2] b = np.random.uniform(-2*M, 2*M, n) c = np.random.uniform(-M**2, M**2, n) delta = b**2 - 4*c # Calcul des racines réels ou complexes rac1 = (-b + np.sqrt(delta + 0j)) / 2 rac2 = (-b - np.sqrt(delta + 0j)) / 2 # selection des index de racines de module <= M mask_module = (np.abs(rac1) <= M) & (np.abs(rac2) <= M) # selecton des réelles parmi elles mask_reeles = (delta >= 0) & mask_module # nombre de racines de module <= M nb_total = np.sum(mask_module) # nombre de racines réeles de module <= M nb_reelles = np.sum(mask_reeles) rapport = nb_reelles / nb_total if nb_total > 0 else np.nan return rapport # Exemple d'utilisation M = 0.0001 while M<1e6: print(f"Rapport racines réelles / toutes racines dans le domaine borné (M={M}) : {rapport_racines_reelles_bornes(M):.4f}") M = M*10
Output