Commit b28165df1cf167bd1432998b87504973b4f5c964

Authored by Rémi Emonet
1 parent 7729aaf77b
Exists in master

poly fonctions

Showing 30 changed files with 870 additions and 29 deletions

poly/01-introduction/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/02-terminal-et-bash/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/03-bash-et-chemins/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/04-python-intro/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/05-operations-arith/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/06-variables-et-types/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/07-erreurs/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/08-fonction-et-aide/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/09-import-biblio/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/10-biblio-qtido/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/11-input-conversion/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/12-condition-if/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/13-conditions-else/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/14-boucle-while/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/15-listes-base/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/16-listes-plus/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/17-boucle-for/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -90,6 +90,8 @@
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
92 92  
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
  94 +
93 95 </ul>
94 96 </li>
95 97  
... ... @@ -143,7 +145,7 @@
143 145 <div class="col-md-1">
144 146 <h3>
145 147  
146   - <a href=".."><span class="glyphicon glyphicon-menu-up"></span></a>
  148 + <a href="../18-def-fonctions/"><span class="glyphicon glyphicon-menu-right"></span></a>
147 149  
148 150 </h3>
149 151 </div>
poly/18-def-fonctions/index.html View file @ b28165d
  1 +<!doctype html>
  2 +<html lang="en">
  3 + <head>
  4 + <meta charset="utf-8">
  5 + <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
  7 + <meta name="viewport" content="width=device-width, initial-scale=1">
  8 + <meta name="search-domain" value="">
  9 + <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
  10 + <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap-theme.css" />
  11 + <link rel="stylesheet" type="text/css" href="../assets/css/lesson.css" />
  12 +
  13 + <link rel="shortcut icon" type="image/x-icon" href="/favicon-UJM.ico" />
  14 +
  15 + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  16 + <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  17 + <!--[if lt IE 9]>
  18 + <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  19 + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  20 + <![endif]-->
  21 + <title>Programmer en Python: Définitions de fonctions</title>
  22 + </head>
  23 + <body>
  24 + <div class="container">
  25 + <nav class="navbar navbar-default">
  26 + <div class="container-fluid">
  27 + <div class="navbar-header">
  28 + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
  29 + <span class="sr-only">Toggle navigation</span>
  30 + <span class="icon-bar"></span>
  31 + <span class="icon-bar"></span>
  32 + <span class="icon-bar"></span>
  33 + </button>
  34 +
  35 +
  36 +
  37 + <a href=".." class="pull-left">
  38 + <img class="navbar-logo" src="../assets/img/UJM-logo.svg" alt="UJM logo" />
  39 + </a>
  40 +
  41 +
  42 +
  43 + <a class="navbar-brand" href="../">Accueil</a>
  44 +
  45 + </div>
  46 + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  47 + <ul class="nav navbar-nav">
  48 +
  49 +
  50 +
  51 +
  52 +
  53 + <li><a href="../reference/">Réference</a></li>
  54 +
  55 + <li class="dropdown">
  56 + <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
  57 + <ul class="dropdown-menu">
  58 +
  59 + <li><a href="../01-introduction/">Introduction</a></li>
  60 +
  61 + <li><a href="../02-terminal-et-bash/">Le Terminal et Bash</a></li>
  62 +
  63 + <li><a href="../03-bash-et-chemins/">Arborescences de Fichier et Bash</a></li>
  64 +
  65 + <li><a href="../04-python-intro/">Un Premier Programme</a></li>
  66 +
  67 + <li><a href="../05-operations-arith/">Opérations sur des Nombres</a></li>
  68 +
  69 + <li><a href="../06-variables-et-types/">Variables et Types</a></li>
  70 +
  71 + <li><a href="../07-erreurs/">Apprendre par l'Erreur</a></li>
  72 +
  73 + <li><a href="../08-fonction-et-aide/">Fonctions Prédéfinies et Aide</a></li>
  74 +
  75 + <li><a href="../09-import-biblio/">Bibliothèques et Importation de Fonctions</a></li>
  76 +
  77 + <li><a href="../10-biblio-qtido/">Bibliothèque Graphique qtido</a></li>
  78 +
  79 + <li><a href="../11-input-conversion/">Entrées Utilisateur</a></li>
  80 +
  81 + <li><a href="../12-condition-if/">Instructions Conditionnelles</a></li>
  82 +
  83 + <li><a href="../13-conditions-else/">Instructions Conditionnelles (2)</a></li>
  84 +
  85 + <li><a href="../14-boucle-while/">Boucles while (tant que)</a></li>
  86 +
  87 + <li><a href="../15-listes-base/">Listes de Valeurs</a></li>
  88 +
  89 + <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
  90 +
  91 + <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
  94 +
  95 + </ul>
  96 + </li>
  97 +
  98 +
  99 + <li><a href="../installation/">Installation</a></li>
  100 +
  101 +
  102 +
  103 + <li class="dropdown">
  104 + <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Extras <span class="caret"></span></a>
  105 + <ul class="dropdown-menu">
  106 +
  107 + <li><a href="../about/">About</a></li>
  108 +
  109 + <li><a href="../more-bashtips/">Astuces Bash</a></li>
  110 +
  111 + <li><a href="../reference-qtido/">Référence qtido</a></li>
  112 +
  113 + </ul>
  114 + </li>
  115 +
  116 +
  117 +
  118 + <li><a href="../license/">Licence</a></li>
  119 + </ul>
  120 + <form class="navbar-form navbar-right" role="search" id="search" onsubmit="google_search(); return false;">
  121 + <div class="form-group">
  122 + <input type="text" id="google-search" placeholder="Search...">
  123 + </div>
  124 + </form>
  125 + </div>
  126 + </div>
  127 +</nav>
  128 +
  129 +
  130 +
  131 +
  132 +
  133 +<div class="row">
  134 + <div class="col-md-1">
  135 + <h3>
  136 +
  137 + <a href="../17-boucle-for/"><span class="glyphicon glyphicon-menu-left"></span></a>
  138 +
  139 + </h3>
  140 + </div>
  141 + <div class="col-md-10">
  142 + <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
  143 + <h1 class="maintitle">Définitions de fonctions</h1>
  144 + </div>
  145 + <div class="col-md-1">
  146 + <h3>
  147 +
  148 + <a href=".."><span class="glyphicon glyphicon-menu-up"></span></a>
  149 +
  150 + </h3>
  151 + </div>
  152 +</div>
  153 +
  154 +
  155 +<blockquote class="objectives">
  156 + <h2>Aperçu</h2>
  157 +
  158 + <div class="row">
  159 + <div class="col-md-3">
  160 + <strong>Teaching:</strong> 0 min
  161 + <br/>
  162 + <strong>Exercises:</strong> 0 min
  163 + </div>
  164 + <div class="col-md-9">
  165 + <strong>Questions</strong>
  166 + <ul>
  167 +
  168 + <li><p>Comment créer un code plus lisible ?</p>
  169 +</li>
  170 +
  171 + <li><p>Comment définir ses propres fonctions ?</p>
  172 +</li>
  173 +
  174 + <li><p>Comment éviter certains copier/coller dans un programme ?</p>
  175 +</li>
  176 +
  177 + </ul>
  178 + </div>
  179 + </div>
  180 +
  181 + <div class="row">
  182 + <div class="col-md-3">
  183 + </div>
  184 + <div class="col-md-9">
  185 + <strong>Objectifs</strong>
  186 + <ul>
  187 +
  188 + <li><p>Comprendre comment définir une fonction avec <code class="highlighter-rouge">def</code>.</p>
  189 +</li>
  190 +
  191 + <li><p>Comprendre les paramètres d’une fonction.</p>
  192 +</li>
  193 +
  194 + <li><p>Comprendre la valeur de retour d’une fonction.</p>
  195 +</li>
  196 +
  197 + <li><p>Distinguer la définition d’une fonction de ses appels.</p>
  198 +</li>
  199 +
  200 + </ul>
  201 + </div>
  202 + </div>
  203 +
  204 +</blockquote>
  205 +
  206 +<h2 id="appel-de-fonctions-et-abstraction">Appel de fonctions et abstraction</h2>
  207 +
  208 +<p>Nous avons vu comment utiliser des fonctions existantes, telles que <code class="highlighter-rouge">print</code>, <code class="highlighter-rouge">help</code>, <code class="highlighter-rouge">len</code> (prédéfinies), <code class="highlighter-rouge">log</code>, <code class="highlighter-rouge">sqrt</code>, <code class="highlighter-rouge">sin</code> (du module <code class="highlighter-rouge">math</code>), <code class="highlighter-rouge">random</code>, <code class="highlighter-rouge">randrange</code> (du module <code class="highlighter-rouge">random</code>), <code class="highlighter-rouge">creer</code>, <code class="highlighter-rouge">couleur</code>, <code class="highlighter-rouge">disque</code> (du module <code class="highlighter-rouge">qtido</code>).
  209 +Pour pouvoir utiliser certaines fonctions, il faut les importer, comme vu précédemment.
  210 +Une fois cela fait, nous pouvons utiliser la fonction autant de fois que voulu.
  211 +L’utilisation d’une fonction s’appelle « un appel une fonction ».</p>
  212 +
  213 +<p>Une fonction sers généralement à simplifier l’écriture et la lecture d’un programme.
  214 +Supposons que l’on a deux variables représentant les coordonnées d’un vecteur.</p>
  215 +
  216 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="n">x</span> <span class="o">=</span> <span class="mi">40</span>
  217 +<span class="n">y</span> <span class="o">=</span> <span class="mi">30</span>
  218 +</code></pre>
  219 +</div>
  220 +
  221 +<p>Pour calculer la longueur du vecteur (x, y) et stocker sa valeur dans une nouvelle variable, on pourrait écrire :</p>
  222 +
  223 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="n">d</span> <span class="o">=</span> <span class="p">(</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span>
  224 +</code></pre>
  225 +</div>
  226 +
  227 +<p>Si on a souvent besoin, de calculer la longueur d’un vecteur (appelée aussi « norme »), on préférais, pour éviter de se répéter et pour rendre le programme plus lisible :</p>
  228 +
  229 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="n">d</span> <span class="o">=</span> <span class="n">norme</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
  230 +</code></pre>
  231 +</div>
  232 +
  233 +<p>En cachant (abstrayant) les détails d’une opération ou d’un calcul complexe, une fonction permet de simplifier l’écriture et la lecture d’un programme, et d’éviter certaines erreurs.
  234 +Comme exemple, voici un extrait de programme dans lequel on suppose qu’il existe des variables <code class="highlighter-rouge">x1</code>, <code class="highlighter-rouge">y1</code>, <code class="highlighter-rouge">x2</code>, <code class="highlighter-rouge">y2</code>, contenant les coordonnées de 2 vecteurs.
  235 +Deux versions sont données, avec et sans l’utilisation de la fonction <code class="highlighter-rouge">norme</code>.</p>
  236 +
  237 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="c"># Avec la fonction norme, sans variables</span>
  238 +<span class="k">if</span> <span class="n">norme</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">y1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="n">norme</span><span class="p">(</span><span class="n">x2</span><span class="p">,</span> <span class="n">y2</span><span class="p">):</span>
  239 + <span class="k">print</span><span class="p">(</span><span class="s">"x1 est plus court avec comme norme"</span><span class="p">,</span> <span class="n">norme</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">y1</span><span class="p">))</span>
  240 +<span class="k">elif</span> <span class="n">norme</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">y1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="n">norme</span><span class="p">(</span><span class="n">x2</span><span class="p">,</span> <span class="n">y2</span><span class="p">):</span>
  241 + <span class="k">print</span><span class="p">(</span><span class="s">"x2 est plus court avec comme norme"</span><span class="p">,</span> <span class="n">norme</span><span class="p">(</span><span class="n">x2</span><span class="p">,</span> <span class="n">y2</span><span class="p">))</span>
  242 +<span class="k">else</span><span class="p">:</span>
  243 + <span class="k">print</span><span class="p">(</span><span class="s">"x1 et x2 ont la même norme"</span><span class="p">,</span> <span class="n">norme</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">y1</span><span class="p">))</span>
  244 +
  245 +<span class="c"># Sans la fonction norme, sans variables</span>
  246 +<span class="k">if</span> <span class="p">(</span><span class="n">x1</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y1</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span> <span class="o">&lt;</span> <span class="p">(</span><span class="n">x2</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y2</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span><span class="p">:</span>
  247 + <span class="k">print</span><span class="p">(</span><span class="s">"x1 est plus court avec comme norme"</span><span class="p">,</span> <span class="p">(</span><span class="n">x1</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y1</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span><span class="p">)</span>
  248 +<span class="k">elif</span> <span class="p">(</span><span class="n">x1</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y1</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span> <span class="o">&gt;</span> <span class="p">(</span><span class="n">x2</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y2</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span><span class="p">:</span>
  249 + <span class="k">print</span><span class="p">(</span><span class="s">"x2 est plus court avec comme norme"</span><span class="p">,</span> <span class="p">(</span><span class="n">x2</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y2</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span><span class="p">)</span>
  250 +<span class="k">else</span><span class="p">:</span>
  251 + <span class="k">print</span><span class="p">(</span><span class="s">"x1 et x2 ont la même norme"</span><span class="p">,</span> <span class="p">(</span><span class="n">x1</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y1</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> <span class="o">**</span> <span class="mf">0.5</span><span class="p">)</span>
  252 +</code></pre>
  253 +</div>
  254 +
  255 +<p>Comme exemple, prenons une fonction que l’on voudrais.
  256 +Il est possible de définir une fonction, par exemple une fonction <code class="highlighter-rouge">norme</code> qui prendrais deux paramètres (les coordonnées d’un vecteur) et renverrait sa norme.
  257 +On aimerai pouvoir utiliser</p>
  258 +
  259 +<h1 id="dfinition-de-fonction-simple">Définition de fonction simple</h1>
  260 +
  261 +<p>La fonction <code class="highlighter-rouge">norme</code> n’existe en fait pas.
  262 +Il est possible de définir cette fonction à l’aide du mot clé Python <code class="highlighter-rouge">def</code>, par exemple de la façon suivante :</p>
  263 +
  264 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="k">def</span> <span class="nf">norme</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
  265 + <span class="n">d</span> <span class="o">=</span> <span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y</span><span class="o">**</span><span class="mi">2</span>
  266 + <span class="k">return</span> <span class="n">d</span> <span class="o">**</span> <span class="mf">0.5</span>
  267 +</code></pre>
  268 +</div>
  269 +
  270 +<p>C’est ce que l’on appelle une définition de fonction.
  271 +En soit, cette définition ne fait rien : quand l’interpréteur Python voit cette définition, il n’exécute pas sont contenu.
  272 +Une fois cette fonction définie, il est par contre possible de l’utiliser.
  273 +Le mot clé <code class="highlighter-rouge">return</code> permet de spécifier quelle valeur un appel de la fonction prendra.
  274 +C’est pour cela que l’on mettra les définitions de fonction au tout début des fichiers Python (<code class="highlighter-rouge">.py</code>), juste après les imports.</p>
  275 +
  276 +<h1 id="smantique-de-lappel-dune-fonction">Sémantique de l’appel d’une fonction</h1>
  277 +
  278 +<p>Le contenu d’une fonction est aussi appelé le « corps de la fonction » et est exécuté à chaque appel de fonction.
  279 +Ainsi, le programme suivant (qui affiche la longueur du vecteur (3,4) et celle du vecteur (40, 30) :</p>
  280 +
  281 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="k">def</span> <span class="nf">norme</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
  282 + <span class="n">d</span> <span class="o">=</span> <span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">y</span><span class="o">**</span><span class="mi">2</span>
  283 + <span class="k">return</span> <span class="n">d</span> <span class="o">**</span> <span class="mf">0.5</span>
  284 +
  285 +<span class="k">print</span><span class="p">(</span><span class="n">norme</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span>
  286 +<span class="k">print</span><span class="p">(</span><span class="n">norme</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">30</span><span class="p">))</span>
  287 +</code></pre>
  288 +</div>
  289 +
  290 +<p>est globalement équivalent à :</p>
  291 +
  292 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="n">appel1_x</span> <span class="o">=</span> <span class="mi">3</span>
  293 +<span class="n">appel1_y</span> <span class="o">=</span> <span class="mi">4</span>
  294 +<span class="n">appel1_d</span> <span class="o">=</span> <span class="n">appel1_x</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">appel1_y</span><span class="o">**</span><span class="mi">2</span>
  295 +<span class="n">appel1</span> <span class="o">=</span> <span class="n">appel1_d</span> <span class="o">**</span> <span class="mf">0.5</span>
  296 +
  297 +<span class="k">print</span><span class="p">(</span><span class="n">appel1</span><span class="p">)</span>
  298 +
  299 +<span class="n">appel2_x</span> <span class="o">=</span> <span class="mi">40</span>
  300 +<span class="n">appel2_y</span> <span class="o">=</span> <span class="mi">30</span>
  301 +<span class="n">appel2_d</span> <span class="o">=</span> <span class="n">appel2_x</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">appel2_y</span><span class="o">**</span><span class="mi">2</span>
  302 +<span class="n">appel2</span> <span class="o">=</span> <span class="n">appel2_d</span> <span class="o">**</span> <span class="mf">0.5</span>
  303 +
  304 +<span class="k">print</span><span class="p">(</span><span class="n">appel2</span><span class="p">)</span>
  305 +</code></pre>
  306 +</div>
  307 +
  308 +<p>Certains points sont très importants :</p>
  309 +
  310 +<ul>
  311 + <li>chaque appel de fonction a ses propres variables <code class="highlighter-rouge">x</code> et <code class="highlighter-rouge">y</code>, auxquelles sont affectées les valeurs passées dans l’appel (3 et 4, puis 40 et 30),</li>
  312 + <li>chaque appel de fonction a sa propre variable <code class="highlighter-rouge">d</code>, qui n’existe que pendant cet appel,</li>
  313 + <li>l’instruction <code class="highlighter-rouge">return</code> donne la valeur par laquelle sera remplacée l’appel (par exemple, <code class="highlighter-rouge">norme(3, 4)</code> vaut la valeur de <code class="highlighter-rouge">appel1</code>).</li>
  314 +</ul>
  315 +
  316 +<h2 id="linstruction-return-termine-la-fonction">L’instruction <code class="highlighter-rouge">return</code> termine la fonction</h2>
  317 +
  318 +<p>L’instruction <code class="highlighter-rouge">return</code> termine directement la fonction.
  319 +Ainsi, les deux fonctions suivantes ont le même comportement :</p>
  320 +
  321 +<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="k">def</span> <span class="nf">plus_petit1</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
  322 + <span class="k">if</span> <span class="n">a</span> <span class="o">&lt;</span> <span class="n">b</span><span class="p">:</span>
  323 + <span class="k">return</span> <span class="n">a</span>
  324 + <span class="k">else</span><span class="p">:</span>
  325 + <span class="k">return</span> <span class="n">b</span>
  326 +
  327 +<span class="k">def</span> <span class="nf">plus_petit2</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
  328 + <span class="k">if</span> <span class="n">a</span> <span class="o">&lt;</span> <span class="n">b</span><span class="p">:</span>
  329 + <span class="k">return</span> <span class="n">a</span> <span class="c"># ce "return" quitte directement la fonction</span>
  330 + <span class="k">return</span> <span class="n">b</span>
  331 +</code></pre>
  332 +</div>
  333 +
  334 +<p>Puisque l’instruction <code class="highlighter-rouge">return a</code> interrompt la fonction, l’instruction <code class="highlighter-rouge">return b</code> ne sera exécuté que si <code class="highlighter-rouge">a</code> n’est pas plus petit que <code class="highlighter-rouge">b</code>.</p>
  335 +
  336 +<blockquote class="syntax">
  337 + <h2 id="syntaxe--dfinition-de-fonction">Syntaxe : Définition de fonction</h2>
  338 + <ul>
  339 + <li>Une définition de fonction démarre par le mot clé <code class="highlighter-rouge">def</code> (définir) suivi d’un nom de fonction, d’une suite de paramètres entre parenthèses, de <code class="highlighter-rouge">:</code> et finalement d’un bloc appelé aussi « corps de la fonction ».</li>
  340 + <li>Chaque paramètres est un nom de variable.</li>
  341 + <li>La définition de la fonction ne fait rien en soit, le corps de la fonction n’est appelé que lorsqu’on appelle la fonction.</li>
  342 + </ul>
  343 +
  344 + <div class="source highlighter-rouge"><pre class="highlight"><code>def «nom»(«var1», «var2», ...):
  345 + «instruction»
  346 + «instruction»
  347 + «…»
  348 +
  349 +«…» # suite du programme, au même niveau que le `def`
  350 +</code></pre>
  351 + </div>
  352 +
  353 +</blockquote>
  354 +
  355 +
  356 +<blockquote class="keypoints">
  357 + <h2>Points Clés</h2>
  358 + <ul>
  359 +
  360 + <li><p>Une fonction peut être définie à l’aide de <code class="highlighter-rouge">def</code>.</p>
  361 +</li>
  362 +
  363 + <li><p>Une fonction à un nombre arbitraire de paramètres.</p>
  364 +</li>
  365 +
  366 + <li><p>Une fonction retourne toujours une valeur.</p>
  367 +</li>
  368 +
  369 + <li><p>L’instruction <code class="highlighter-rouge">return</code> permet d’interrompre la fonction et de renvoyer une valeur.</p>
  370 +</li>
  371 +
  372 + <li><p>La valeur spéciale <code class="highlighter-rouge">None</code> représente l’absence de valeur (de retour).</p>
  373 +</li>
  374 +
  375 + </ul>
  376 +
  377 +</blockquote>
  378 +
  379 +
  380 +
  381 + <hr/>
  382 +<footer>
  383 + <div class="row">
  384 + <div class="col-md-6" align="left">
  385 + <h4>
  386 + Copyright &copy; 2016
  387 +
  388 +
  389 + </h4>
  390 + </div>
  391 + <div class="col-md-6" align="right">
  392 + <h4>
  393 + <!--
  394 + <a href="/">Source</a>
  395 + /
  396 + <a href="/blob/gh-pages/CONTRIBUTING.md">Contributing</a>
  397 + /
  398 + -->
  399 + <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  400 + </h4>
  401 + </div>
  402 + </div>
  403 +</footer>
  404 +
  405 +
  406 + </div>
  407 + <script src="../assets/js/jquery.min.js"></script>
  408 +<script src="../assets/js/bootstrap.min.js"></script>
  409 +<script src="../assets/js/lesson.js"></script>
  410 +
  411 +<!-- clicky Cla -->
  412 +<script type="text/javascript">
  413 +var clicky_site_ids = clicky_site_ids || [];
  414 +clicky_site_ids.push(100779706);
  415 +(function() {
  416 + var s = document.createElement('script');
  417 + s.type = 'text/javascript';
  418 + s.async = true;
  419 + s.src = '//static.getclicky.com/js';
  420 + ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
  421 +})();
  422 +</script>
  423 +<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/100779706ns.gif" /></p></noscript>
  424 +
  425 +
  426 +<!-- Histats.com START (aync)-->
  427 +<script type="text/javascript">var _Hasync= _Hasync|| [];
  428 +_Hasync.push(['Histats.start', '1,2767123,4,0,0,0,00010000']);
  429 +_Hasync.push(['Histats.fasi', '1']);
  430 +_Hasync.push(['Histats.track_hits', '']);
  431 +(function() {
  432 +var hs = document.createElement('script'); hs.type = 'text/javascript'; hs.async = true;
  433 +hs.src = ('http://s10.histats.com/js15_as.js');
  434 +(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(hs);
  435 +})();</script>
  436 +<noscript><a href="http://www.histats.com" target="_blank"><img src="http://sstatic1.histats.com/0.gif?2767123&101" alt="javascript hit counter" border="0"></a></noscript>
  437 +<!-- Histats.com END -->
  438 + </body>
  439 +</html>
poly/about/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/conduct/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="./assets/css/bootstrap.css" />
... ... @@ -90,6 +90,8 @@
90 90  
91 91 <li><a href="./17-boucle-for/">Boucles for</a></li>
92 92  
  93 + <li><a href="./18-def-fonctions/">Définitions de fonctions</a></li>
  94 +
93 95 </ul>
94 96 </li>
95 97  
96 98  
... ... @@ -209,7 +211,9 @@
209 211  
210 212  
211 213  
  214 +
212 215  
  216 +
213 217  
214 218 <table class="table table-striped">
215 219  
... ... @@ -721,6 +725,41 @@
721 725  
722 726  
723 727 Comment appliquer un morceau de programme sur chaque élément d’une liste ?
  728 +
  729 +
  730 + <br/>
  731 +
  732 +
  733 + Comment éviter certains copier/coller dans un programme ?
  734 +
  735 +
  736 +
  737 +
  738 +
  739 + </td>
  740 + </tr>
  741 +
  742 +
  743 +
  744 +
  745 +
  746 + <tr>
  747 +
  748 + <td class="col-md-1">00:00</td>
  749 + <td class="col-md-3">
  750 + <a href="./18-def-fonctions/">Définitions de fonctions</a>
  751 + </td>
  752 + <td class="col-md-7">
  753 +
  754 +
  755 +
  756 + Comment créer un code plus lisible ?
  757 +
  758 +
  759 + <br/>
  760 +
  761 +
  762 + Comment définir ses propres fonctions ?
724 763  
725 764  
726 765 <br/>
poly/installation/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 21:04:28 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/license/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/more-bashtips/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/prog-en-python.epub View file @ b28165d

No preview for this file type

poly/prog-en-python.pdf View file @ b28165d

No preview for this file type

poly/reference-qtido/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/reference/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -90,6 +90,8 @@
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
92 92  
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
  94 +
93 95 </ul>
94 96 </li>
95 97  
... ... @@ -620,6 +622,34 @@
620 622 </li>
621 623  
622 624 <li><p>La boucle <code class="highlighter-rouge">while</code> permets aussi de réaliser un parcours à la manière de <code class="highlighter-rouge">for</code>.</p>
  625 +</li>
  626 +
  627 + </ul>
  628 + </td>
  629 + </tr>
  630 +
  631 +
  632 +
  633 + <tr>
  634 + <td class="col-md-3">
  635 + <a href="../18-def-fonctions/">Définitions de fonctions</a>
  636 + </td>
  637 + <td class="col-md-9">
  638 + <ul>
  639 +
  640 + <li><p>Une fonction peut être définie à l’aide de <code class="highlighter-rouge">def</code>.</p>
  641 +</li>
  642 +
  643 + <li><p>Une fonction à un nombre arbitraire de paramètres.</p>
  644 +</li>
  645 +
  646 + <li><p>Une fonction retourne toujours une valeur.</p>
  647 +</li>
  648 +
  649 + <li><p>L’instruction <code class="highlighter-rouge">return</code> permet d’interrompre la fonction et de renvoyer une valeur.</p>
  650 +</li>
  651 +
  652 + <li><p>La valeur spéciale <code class="highlighter-rouge">None</code> représente l’absence de valeur (de retour).</p>
623 653 </li>
624 654  
625 655 </ul>
poly/setup/index.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -89,6 +89,8 @@
89 89 <li><a href="../16-listes-plus/">Listes de Valeurs (2)</a></li>
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
  92 +
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
92 94  
93 95 </ul>
94 96 </li>
poly/single-page.html View file @ b28165d
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta http-equiv="last-modified" content="2016-10-17 10:47:00 +0200">
  6 + <meta http-equiv="last-modified" content="2016-11-02 22:36:13 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <meta name="search-domain" value="">
9 9 <link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.css" />
... ... @@ -90,6 +90,8 @@
90 90  
91 91 <li><a href="../17-boucle-for/">Boucles for</a></li>
92 92  
  93 + <li><a href="../18-def-fonctions/">Définitions de fonctions</a></li>
  94 +
93 95 </ul>
94 96 </li>
95 97  
96 98  
... ... @@ -209,7 +211,9 @@
209 211  
210 212  
211 213  
  214 +
212 215  
  216 +
213 217  
214 218 <table class="table table-striped">
215 219  
216 220  
... ... @@ -736,8 +740,43 @@
736 740 </tr>
737 741  
738 742  
  743 +
  744 +
  745 +
  746 + <tr>
  747 +
  748 + <td class="col-md-1">00:00</td>
  749 + <td class="col-md-3">
  750 + <a href="./18-def-fonctions/">Définitions de fonctions</a>
  751 + </td>
  752 + <td class="col-md-7">
  753 +
  754 +
  755 +
  756 + Comment créer un code plus lisible ?
  757 +
  758 +
  759 + <br />
  760 +
  761 +
  762 + Comment définir ses propres fonctions ?
  763 +
  764 +
  765 + <br />
  766 +
  767 +
  768 + Comment éviter certains copier/coller dans un programme ?
  769 +
  770 +
  771 +
  772 +
  773 +
  774 + </td>
  775 + </tr>
  776 +
739