{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercices du livre - Chapitre 4\n",
    "\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 1 ✓\n",
    "\n",
    "  Écrire un programme qui teste si deux listes ont au moins un élément commun."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 2 ✓\n",
    "\n",
    "  On donne une liste de mots :\n",
    "  \n",
    "```python\n",
    "mots = ['abc', 'aba', 'xyz', '1221']\n",
    "```\n",
    "  Écrire un programme qui extrait de cette liste les mots d’au moins deux caractères et dont la première lettre est égale à la dernière."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 3 ✓\n",
    "\n",
    "  Écrire un programme qui affiche la différence entre deux listes (utilisez la structure `set`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 4 ✓\n",
    "\n",
    "  Soit le dictionnaire :\n",
    "  \n",
    "```python\n",
    "d = {0: 1, 1: 10, 2: 20}\n",
    "```\n",
    "\n",
    "Écrire un programme qui ajoute une nouvelle clé a ce dictionnaire, dont la valeur est la somme des valeurs des autres clés.  \n",
    "On doit donc trouver :\n",
    "```python\n",
    "d = {0: 1, 1: 10, 2: 20, 'nouveau': 31}\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 4"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 5 ✓\n",
    "\n",
    "  L'utilisateur saisit un entier $n$ entre 2 et 12, le programme donne le nombre de façons de faire $n$ en lançant deux dés."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Exercice 5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 6 ✓\n",
    "\n",
    "  Même problème que le précédent mais avec $n$ entre 3 et 18 et trois dés."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Exercice 6"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 7 ✓✓✓\n",
    "\n",
    "  Généralisation des deux questions précédentes. \n",
    "  \n",
    "  L'utilisateur saisit deux entrées, d'une part le nombre de dés, $nbd$ (que l'on limitera pratiquement à 10), et d'autre part la somme, $s$, comprise entre $nbd$ et 6 × $nbd$.  \n",
    "  Le programme calcule et affiche le nombre de façons de faire $s$ avec les $nbd$ dés."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 7"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### Exercice 8 ✓✓\n",
    "\n",
    "  Le *mélange de Monge* d’un paquet de cartes numérotées de 2 à 2*n* consiste à démarrer un nouveau paquet avec la carte 1, à placer la carte 2 au-dessus de ce nouveau paquet, puis la carte 3 au-dessous du nouveau paquet et ainsi de suite en plaçant les cartes paires au-dessus du nouveau paquet et les cartes impaires au-dessous.\n",
    "    \n",
    "  Écrire un script qui affiche le paquet initial et le paquet mélangé."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 8"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercice 9 ✓✓✓\n",
    "\n",
    "vérifier, de façon exhaustive, qu'il y a au moins un vendredi 13 par an.\n",
    "\n",
    "Indication :\n",
    "\n",
    "`Si le 13 janvier est un lundi, le 13 juin sera un vendredi 13\n",
    "Si le 13 janvier est un mardi, le 13 février sera ...\n",
    "...`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 9"
   ]
  }
 ],
 "metadata": {
  "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.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
