{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tirages au sort dans une liste" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But : Dans la liste des élèves d'une classe, tirer au sort un élève, 5 élèves..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Récupération de la liste des élèves\n", "Le programme ci-dessous permet de de récupérer les prénoms des élèves dans un fichier texte. Pour plus de détails, voir la rubrique \"Manipulation de fichiers\" dans la page \"Python\"." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Sakina', 'Lilou', 'Corentin', 'Gaia', 'Lisa', 'Gabrielle', 'Imène', 'Nicolas', 'Matéo', 'Naïm', 'Axiane', 'Mazarine', 'Suzanne', 'Youenn', 'Félix', 'Melissa', 'Camille', 'Lisy-Anne', 'Hélène', 'Noa', 'Justine', 'Salim', 'Malo', 'Margot', 'Gwendal', 'Chourouk', 'Samuel', 'Elliot', 'Noé', 'Ambre', 'Antoine', 'Cléome', 'Hugo', 'Alban']\n" ] } ], "source": [ "monFichier = open(\"/media/pv/1B71-6E9B/lycee/20182019/1S/liste1s1.txt\", \"r\")\n", "\n", "liste1s1 = []\n", "for ligne in monFichier:\n", " prenom= ligne.replace('\\n','')\n", " liste1s1 = liste1s1 + [prenom]\n", "\n", "monFichier.close()\n", "print(liste1s1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tirage au sort d'un élève" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elliot\n" ] } ], "source": [ "from random import randint\n", "\n", "i = randint(0,len(liste1s1)-1)\n", "eleveChoisi = liste1s1[i]\n", "print(eleveChoisi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tirage au sort de 5 élèves" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Camille', 'Axiane', 'Nicolas', 'Salim', 'Lisa']\n" ] } ], "source": [ "from random import randint\n", "\n", "elevesChoisis = []\n", "n = 0 #nombre d'élèves tirés au sort\n", "while n < 5:\n", " i = randint(0,len(liste1s1)-1)\n", " eleve = liste1s1[i]\n", " if eleve not in elevesChoisis:\n", " n = n+1\n", " elevesChoisis = elevesChoisis + [eleve]\n", "print(elevesChoisis)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remarque : il existe choice dans random, qui fournit aléatoirement un élément d'une liste :" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Corentin', 'Sakina', 'Cléome', 'Camille', 'Matéo']\n" ] } ], "source": [ "from random import choice\n", "\n", "elevesChoisis = []\n", "n = 0 #nombre d'élèves tirés au sort\n", "while n < 5:\n", " eleve = choice(liste1s1)\n", " if eleve not in elevesChoisis:\n", " n = n+1\n", " elevesChoisis.append(eleve) #append ajoute eleve à la fin de la liste des élèves choisis\n", "print(elevesChoisis)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Présentation (plus) spectaculaire (en chantier)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }