no commit message

parent 2beba884
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# À propos de π\n",
"\n",
"Ce notebook présente différentes méthodes pour estimer la valeur de π.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Formules mathématiques\n",
"\n",
"La valeur de π peut être estimée par différentes méthodes. \n",
"Par exemple, avec la formule suivante :\n",
"\n",
"$$\\pi = \\frac{C}{D}$$\n",
"\n",
"où *C* est la circonférence et *D* le diamètre d’un cercle.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"print(f\"La valeur de π selon la bibliothèque math est : {math.pi}\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Méthode des aiguilles de Buffon\n",
"\n",
"Pour en savoir plus : \n",
"[Expérience des aiguilles de Buffon (Wikipedia)](https://fr.wikipedia.org/wiki/Aiguille_de_Buffon)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import random\n",
"import math\n",
"\n",
"def buffon_needle(n_drops=100000):\n",
" hits = 0\n",
" for _ in range(n_drops):\n",
" y = random.random()\n",
" theta = random.uniform(0, math.pi / 2)\n",
" if y <= (math.sin(theta) / 2):\n",
" hits += 1\n",
" return (2 * n_drops) / hits\n",
"\n",
"pi_est = buffon_needle()\n",
"print(f\"Estimation de π par la méthode de Buffon : {pi_est}\")\n"
]
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment