{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quelques opérations basiques en Python" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ":download:`Télécharger le pdf <./04-operations_basiques.pdf>`\n", "\n", ":download:`Télécharger le notebook <./04-operations_basiques.ipynb>`\n", "\n", ":download:`Lancer le notebook sur binder (lent) `" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Opérations mathématiques usuelles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "quotient de la division euclidienne: `//`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "25//7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reste de la division euclidienne `%`" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "25%7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "puissance `**`" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "27" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3**3 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "racine carrée : `sqrt` (importer au préalable la fonction)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.7320508075688772\n", "1.7320508075688772\n", "1.7320508075688772\n" ] } ], "source": [ "# Plusieurs méthodes (au choix) pour importer\n", "\n", "# On importe l'ensemble de la bibliothèque math dans le programme\n", "from math import *\n", "print(sqrt(3))\n", "\n", "# On importe juste la fonction nécessaire\n", "from math import sqrt\n", "print(sqrt(3))\n", "\n", "# On importe l'intégralité de la bibliothèque\n", "# mais on doit préfixer la fonction par le nom de la bibliothèque\n", "import math \n", "print(math.sqrt(3))\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Autres opérations mathématiques \n", "\n", "A partir de la bibliothèque math :\n", "\n", "- sin\n", "- cos\n", "- log (logarithme népérien)\n", "- log10 (logarithme décimal)\n", "- exp\n", "- abs (pour valeur absolue) \n", "- min\n", "- max\n", "- floor (partie entière)\n", "\n", "A partir de la bibliothèque random :\n", "\n", "- random : génère un nombre aléatoire décimal entre 0 et 1\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.7320508075688772" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from math import *\n", "sqrt(3)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.9880316240928618" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from math import*\n", "sin(30)\n", "# attention les angles sont en radian" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from math import*\n", "log(10)\n", "abs(-2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tests et opérateurs logiques\n", "\n", "Les tests suivants sont disponibles\n", "\n", "- `==` : vérifie une égalité\n", "- `!=` : différent\n", "- `<` : inférieur\n", "- `>` : supérieur\n", "- `>=` : supérieur ou égal\n", "- `<=` : inférieur ou égal\n", "\n", "Les opérateurs logiques ou opérateurs booléens correspondent aux opérations logiques suivantes:\n", "\n", "- `and` : et\n", "- `or` : ou\n", "- `not` : non\n", "\n", "La réponse possible à ces différentes opérations est: vraie (1) ou fausse (0).\n", "L'exemple ci-dessous utilise l'opération \"ou\" pour déterminer si l'on peut calculer la somme de deux fractions dans un premier temps. Si la réponse est positive alors les valeurs du numérateur et du dénominateur sont affichées." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Somme de 1/3 + 1/0\n", " -> Impossible : dénominateur nul interdit\n", "Somme de 1/3 + 3/5\n", " -> Résultat : 20/15\n" ] } ], "source": [ "def somme_fractions(a,b,c,d):\n", " print(\"Somme de {0}/{1} + {2}/{3}\".format(a,b,c,d))\n", " if b==0 or d==0:\n", " print(\" -> Impossible : dénominateur nul interdit\")\n", " else:\n", " print(\" -> Résultat : {0}/{1}\".format(a*d+c*d, b*d))\n", "\n", "somme_fractions(1,3,1,0)\n", "somme_fractions(1,3,3,5)" ] } ], "metadata": { "celltoolbar": "Format de la Cellule Texte Brut", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 4 }