{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Sorteia os grupos aleatoriamente" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from __future__ import division, print_function\n", "import random" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def sorteia(alunos, N):\n", " \"\"\"\n", " Sorteia grupos de N alunos\n", " \"\"\"\n", " # Embaralha a lista de alunos\n", " random.shuffle(alunos)\n", " # De quantas pessoas são os grupos\n", " grupos_de = N\n", " # Divide a lista de alunos em listas de 3 nomes\n", " grupos = [alunos[i:i + grupos_de] \n", " for i in range(0, len(alunos), grupos_de)]\n", " return grupos\n", "\n", "def cria_grupos(fname, N):\n", " \"\"\"\n", " Lê os alunos do arquivo, sorteia os grupos e imprime o resultado\n", " \"\"\"\n", " with open(fname) as f:\n", " alunos = [l.strip() for l in f.readlines()]\n", " grupos = sorteia(alunos, N)\n", " # Imprime os nomes de cada grupo\n", " for i, grupo in enumerate(grupos):\n", " nomes = ' | '.join(grupo).title()\n", " print('{}.'.format(i + 1), nomes)\n", " print()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cria_grupos('alunos.txt', 7)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 0 }