Commit cf038410ea0d0857ef7f9d05b5268d2e1afc6248

Authored by Rémi Emonet
1 parent 9e96a0bd8f
Exists in master

up style

Showing 33 changed files with 647 additions and 546 deletions

01-cours-outils-info/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../"><span class="glyphicon glyphicon-menu-up" aria-hidden="true"></span><span class="sr-only">lesson home</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../02-intro-outils-info/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -254,18 +257,18 @@
254 257 </article>
255 258  
256 259 <div class="row">
257   - <div class="col-md-1">
258   - <h3>
  260 + <div class="col-xs-1">
  261 + <h3 class="text-left">
259 262  
260 263 <a href="../"><span class="glyphicon glyphicon-menu-up" aria-hidden="true"></span><span class="sr-only">lesson home</span></a>
261 264  
262 265 </h3>
263 266 </div>
264   - <div class="col-md-10">
  267 + <div class="col-xs-10">
265 268  
266 269 </div>
267   - <div class="col-md-1">
268   - <h3>
  270 + <div class="col-xs-1">
  271 + <h3 class="text-right">
269 272  
270 273 <a href="../02-intro-outils-info/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
271 274  
... ... @@ -296,7 +299,7 @@
296 299 /
297 300 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
298 301 /
299   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  302 + <a href="mailto:">Contact</a>
300 303 </h4>
301 304 </div>
302 305 </div>
02-intro-outils-info/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../01-cours-outils-info/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../03-terminal-et-bash/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
... ... @@ -244,7 +247,7 @@
244 247 <ul>
245 248 <li>Quelle information représenter ?</li>
246 249 <li>Comment stocker/représenter cette information ?</li>
247   - <li>Quelle est la tâche : que veut on faire de ces informations ?</li>
  250 + <li>Quelle est la tâche : que veut on faire de cette information ?</li>
248 251 <li>Quel algorithme permet de résoudre cette tâche ? Existe-t-il ou faut il l’inventer ?</li>
249 252 </ul>
250 253  
... ... @@ -261,7 +264,6 @@
261 264 </ul>
262 265  
263 266  
264   -
265 267 <blockquote class="keypoints">
266 268 <h2>Points Clés</h2>
267 269 <ul>
268 270  
269 271  
... ... @@ -282,18 +284,18 @@
282 284 </article>
283 285  
284 286 <div class="row">
285   - <div class="col-md-1">
286   - <h3>
  287 + <div class="col-xs-1">
  288 + <h3 class="text-left">
287 289  
288 290 <a href="../01-cours-outils-info/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
289 291  
290 292 </h3>
291 293 </div>
292   - <div class="col-md-10">
  294 + <div class="col-xs-10">
293 295  
294 296 </div>
295   - <div class="col-md-1">
296   - <h3>
  297 + <div class="col-xs-1">
  298 + <h3 class="text-right">
297 299  
298 300 <a href="../03-terminal-et-bash/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
299 301  
... ... @@ -324,7 +326,7 @@
324 326 /
325 327 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
326 328 /
327   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  329 + <a href="mailto:">Contact</a>
328 330 </h4>
329 331 </div>
330 332 </div>
03-terminal-et-bash/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../02-intro-outils-info/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../04-bash-et-chemins/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -258,18 +261,18 @@
258 261 </article>
259 262  
260 263 <div class="row">
261   - <div class="col-md-1">
262   - <h3>
  264 + <div class="col-xs-1">
  265 + <h3 class="text-left">
263 266  
264 267 <a href="../02-intro-outils-info/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
265 268  
266 269 </h3>
267 270 </div>
268   - <div class="col-md-10">
  271 + <div class="col-xs-10">
269 272  
270 273 </div>
271   - <div class="col-md-1">
272   - <h3>
  274 + <div class="col-xs-1">
  275 + <h3 class="text-right">
273 276  
274 277 <a href="../04-bash-et-chemins/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
275 278  
... ... @@ -300,7 +303,7 @@
300 303 /
301 304 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
302 305 /
303   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  306 + <a href="mailto:">Contact</a>
304 307 </h4>
305 308 </div>
306 309 </div>
04-bash-et-chemins/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../03-terminal-et-bash/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../05-python-intro/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -258,18 +261,18 @@
258 261 </article>
259 262  
260 263 <div class="row">
261   - <div class="col-md-1">
262   - <h3>
  264 + <div class="col-xs-1">
  265 + <h3 class="text-left">
263 266  
264 267 <a href="../03-terminal-et-bash/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
265 268  
266 269 </h3>
267 270 </div>
268   - <div class="col-md-10">
  271 + <div class="col-xs-10">
269 272  
270 273 </div>
271   - <div class="col-md-1">
272   - <h3>
  274 + <div class="col-xs-1">
  275 + <h3 class="text-right">
273 276  
274 277 <a href="../05-python-intro/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
275 278  
... ... @@ -300,7 +303,7 @@
300 303 /
301 304 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
302 305 /
303   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  306 + <a href="mailto:">Contact</a>
304 307 </h4>
305 308 </div>
306 309 </div>
05-python-intro/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../04-bash-et-chemins/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../06-operations-arith/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
... ... @@ -226,6 +229,122 @@
226 229  
227 230 </blockquote>
228 231  
  232 +<h2 id="création-dun-premier-programme-vide">Création d’un premier programme (vide)</h2>
  233 +
  234 +<p>Nous allons maintenant créer un premier programme Python.
  235 +Pour cela nous devons créer sur le disque dur un fichier dit « texte brut », c’est à dire qu’il contient exactement les caractères que l’on va taper.
  236 +La notion de « texte brut » se distingue de celle de « texte riche » où le texte est augmenté avec des notions de formatage (titre, couleur, gras, …).
  237 +L’édition de « texte riche » se fait généralement avec des éditeurs comme Openoffice ou Word.</p>
  238 +
  239 +<p>Pour créer un fichier un ou plusieurs fichiers, il est possible d’utiliser <code class="highlighter-rouge">bash</code> depuis un terminal en utilisant la commande <code class="highlighter-rouge">touch</code>.
  240 +Par convention, les fichiers contenant des programmes Python doivent avoir l’extension <code class="highlighter-rouge">.py</code>.
  241 +Ainsi, nous pouvons créer notre premier programme Python (vide) avec la comande suivante, exécutée dans le terminal:</p>
  242 +
  243 +<div class="language-bash source highlighter-rouge"><pre class="highlight"><code>touch premier.py
  244 +</code></pre>
  245 +</div>
  246 +
  247 +<p>Nous pouvons ensuite lancer ce programme (ou l’exécuter) avec la commande <code class="highlighter-rouge">python3</code>.</p>
  248 +
  249 +<div class="language-bash source highlighter-rouge"><pre class="highlight"><code>python3 premier.py
  250 +</code></pre>
  251 +</div>
  252 +
  253 +<p>Comme ce programme est vide, son exécution ne produira aucune sortie.
  254 +Nous devrions donc observer :</p>
  255 +<div class="output highlighter-rouge"><pre class="highlight"><code>.... $ touch premier.py
  256 +.... $ python3 premier.py
  257 +.... $
  258 +</code></pre>
  259 +</div>
  260 +
  261 +<h2 id="Édition-dun-fichier-texte-brut">Édition d’un fichier texte brut</h2>
  262 +
  263 +<p>Nous allons maintenant éditer/modifier notre programme, le sauver et le relancer.
  264 +Pour cela nous avons besoin d’un éditeur de texte (brut).
  265 +Selon comment vous avez installé votre environnement, vous pouvez utiliser différents éditeurs (voir <a href="../installation">l’aide à l’installation</a>).</p>
  266 +
  267 +<p>Bien qu’un éditeur de texte brut ne permettent pas de mise en forme, il va vous aider à écrire et lire vos programmes.
  268 +Ainsi, selon la structure de ce que vous taper dans le fichier, l’éditeur va mettre en couleur différents mots clés et différentes valeurs dans votre programme.
  269 +Nous allons ici considérer que l’éditeur <code class="highlighter-rouge">emacs</code> est installé (comme dans les salles machines sous Linux), mais il est possible d’utiliser n’importe quel éditeur de texte brut.</p>
  270 +
  271 +<p>Nous allons ouvrir notre programme vide à l’aide d’<code class="highlighter-rouge">emacs</code>.
  272 +Pour celà, nous pouvons utiliser <code class="highlighter-rouge">bash</code> depuis le terminal, en lançant la commande :</p>
  273 +<div class="language-bash source highlighter-rouge"><pre class="highlight"><code>emacs premier.py &amp;
  274 +</code></pre>
  275 +</div>
  276 +
  277 +<p>Le <code class="highlighter-rouge">&amp;</code> permet de lancer un programme « en fond de tâche », c’est à dire de ne pas bloquer le terminal pendant que le programme s’exécute.
  278 +Puisque l’on veut continuer à utiliser notre terminal et utiliser l’éditeur de texte en même temps, nous utilisons le <code class="highlighter-rouge">&amp;</code>.</p>
  279 +
  280 +<blockquote class="callout">
  281 + <h2 id="le-terminal-ne-répond-plus-">Le terminal ne répond plus ?</h2>
  282 + <p>Si votre terminal ne répond pas, c’est probablement qu’une commande n’a pas terminée de s’exécuter.
  283 +Le plus souvent, c’est qu’un éditeur (<code class="highlighter-rouge">emacs</code>) a été lancé sans le <code class="highlighter-rouge">&amp;</code> à la fin.
  284 +Il y a plusieurs « solutions », au choix :</p>
  285 + <ol>
  286 + <li>quitter <code class="highlighter-rouge">emacs</code> puis le relancer avec <code class="highlighter-rouge">&amp;</code>,</li>
  287 + <li>dans le terminal, utiliser <kbd>Ctrl</kbd>+<kbd>Z</kbd> (presser la touche <kbd>ctrl</kbd> et appuyer sur <kbd>z</kbd>) pour mettre en pause <code class="highlighter-rouge">emacs</code> et récupérer le terminal, puis lancer la commande <code class="highlighter-rouge">bg</code> (pour « background », tâche de fond) dans le terminal,</li>
  288 + <li>quitter brutalement <code class="highlighter-rouge">emacs</code> (ou autre) avec <kbd>Ctrl</kbd>+<kbd>C</kbd> dans le terminal.</li>
  289 + </ol>
  290 +</blockquote>
  291 +
  292 +<p>Une fois votre éditeur de texte lancé, tapez le programme suivant à l’intérieur :</p>
  293 +
  294 +<div class="language-python source highlighter-rouge"><pre class="highlight"><code><span class="k">print</span><span class="p">(</span><span class="s">"Bon Jour"</span><span class="p">)</span>
  295 +</code></pre>
  296 +</div>
  297 +
  298 +<p>Puis sauvegardez les modifications grâce au menu ou à un bouton dans votre éditeur.
  299 +Nous allons maintenant lancer ce programme à nouveau avec :</p>
  300 +
  301 +<div class="language-bash source highlighter-rouge"><pre class="highlight"><code>python3 premier.py
  302 +</code></pre>
  303 +</div>
  304 +
  305 +<p>Ceci devrait afficher la sortie <code class="highlighter-rouge">Bon Jour</code> dans le terminal.
  306 +La fonction <code class="highlighter-rouge">print()</code> sers à afficher dans le terminal ce qui lui est passé en paramètre (entre parenthèses).
  307 +On peut relancer ce programme en entrant à nouveau la commande <code class="highlighter-rouge">python3 premier.py</code> ou en la rappelant grâce à <kbd>↑</kbd> (la flêche vers le haut).</p>
  308 +
  309 +<p>Modifiez maintenant votre fichier pour qu’il contiennent le contenu suivant :</p>
  310 +
  311 +<div class="language-python source highlighter-rouge"><pre class="highlight"><code><span class="k">print</span><span class="p">(</span><span class="s">"Bonjour"</span><span class="p">)</span>
  312 +<span class="k">print</span><span class="p">(</span><span class="mi">4242</span><span class="p">)</span>
  313 +</code></pre>
  314 +</div>
  315 +
  316 +<p>Pensez à sauver votre fichier et relancez le avec <code class="highlighter-rouge">python3 premier.py</code>.
  317 +Il devrait maintenant afficher 2 lignes, <code class="highlighter-rouge">Bon Jour</code> et <code class="highlighter-rouge">4242</code>.</p>
  318 +
  319 +<p>Ajoutez à votre fichier une nouvelle ligne contenant <code class="highlighter-rouge">print(len("Salut"))</code> et relancer votre programme.
  320 +La fonction <code class="highlighter-rouge">len()</code> permet de connaître la longueur (nombre de caractère d’une chaîne de caractères).
  321 +Votre programme devrait donc afficher, en plus, <code class="highlighter-rouge">5</code>.</p>
  322 +
  323 +<p>Ajoutez un <code class="highlighter-rouge">#</code> au début de la seconde ligne et relancer votre programme (pensez à sauvegarder).
  324 +Le <code class="highlighter-rouge">#</code> marque un commentaire, et donc la ligne est ignorée par Python.
  325 +Ainsi, le <code class="highlighter-rouge">4242</code> ne s’affichera plus.
  326 +Les commentaires servent généralement à aider un humain (camarade, professeur, collègue, ou vous même plus tard) à comprendre le programme.</p>
  327 +
  328 +<p>Au final, nous devrions observer dans le terminal quelque chose qui ressemble à cela :</p>
  329 +
  330 +<div class="output highlighter-rouge"><pre class="highlight"><code>.... $ python3 premier.py
  331 +.... $ emacs premier.py &amp;
  332 +.... $ python3 premier.py
  333 +Bon Jour
  334 +.... $ python3 premier.py
  335 +Bonjour
  336 +4242
  337 +.... $ python3 premier.py
  338 +Bonjour
  339 +4242
  340 +5
  341 +.... $ python3 premier.py
  342 +Bonjour
  343 +5
  344 +.... $
  345 +</code></pre>
  346 +</div>
  347 +
229 348 <blockquote class="syntax">
230 349 <h2 id="syntaxe--commentaires">Syntaxe : commentaires</h2>
231 350 <ul>
232 351  
233 352  
... ... @@ -279,18 +398,18 @@
279 398 </article>
280 399  
281 400 <div class="row">
282   - <div class="col-md-1">
283   - <h3>
  401 + <div class="col-xs-1">
  402 + <h3 class="text-left">
284 403  
285 404 <a href="../04-bash-et-chemins/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
286 405  
287 406 </h3>
288 407 </div>
289   - <div class="col-md-10">
  408 + <div class="col-xs-10">
290 409  
291 410 </div>
292   - <div class="col-md-1">
293   - <h3>
  411 + <div class="col-xs-1">
  412 + <h3 class="text-right">
294 413  
295 414 <a href="../06-operations-arith/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
296 415  
... ... @@ -321,7 +440,7 @@
321 440 /
322 441 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
323 442 /
324   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  443 + <a href="mailto:">Contact</a>
325 444 </h4>
326 445 </div>
327 446 </div>
06-operations-arith/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../05-python-intro/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../07-variables-et-types/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -258,18 +261,18 @@
258 261 </article>
259 262  
260 263 <div class="row">
261   - <div class="col-md-1">
262   - <h3>
  264 + <div class="col-xs-1">
  265 + <h3 class="text-left">
263 266  
264 267 <a href="../05-python-intro/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
265 268  
266 269 </h3>
267 270 </div>
268   - <div class="col-md-10">
  271 + <div class="col-xs-10">
269 272  
270 273 </div>
271   - <div class="col-md-1">
272   - <h3>
  274 + <div class="col-xs-1">
  275 + <h3 class="text-right">
273 276  
274 277 <a href="../07-variables-et-types/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
275 278  
... ... @@ -300,7 +303,7 @@
300 303 /
301 304 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
302 305 /
303   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  306 + <a href="mailto:">Contact</a>
304 307 </h4>
305 308 </div>
306 309 </div>
07-variables-et-types/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../06-operations-arith/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../08-erreurs/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -280,18 +283,18 @@
280 283 </article>
281 284  
282 285 <div class="row">
283   - <div class="col-md-1">
284   - <h3>
  286 + <div class="col-xs-1">
  287 + <h3 class="text-left">
285 288  
286 289 <a href="../06-operations-arith/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
287 290  
288 291 </h3>
289 292 </div>
290   - <div class="col-md-10">
  293 + <div class="col-xs-10">
291 294  
292 295 </div>
293   - <div class="col-md-1">
294   - <h3>
  296 + <div class="col-xs-1">
  297 + <h3 class="text-right">
295 298  
296 299 <a href="../08-erreurs/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
297 300  
... ... @@ -322,7 +325,7 @@
322 325 /
323 326 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
324 327 /
325   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  328 + <a href="mailto:">Contact</a>
326 329 </h4>
327 330 </div>
328 331 </div>
08-erreurs/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../07-variables-et-types/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../09-fonction-et-aide/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -258,18 +261,18 @@
258 261 </article>
259 262  
260 263 <div class="row">
261   - <div class="col-md-1">
262   - <h3>
  264 + <div class="col-xs-1">
  265 + <h3 class="text-left">
263 266  
264 267 <a href="../07-variables-et-types/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
265 268  
266 269 </h3>
267 270 </div>
268   - <div class="col-md-10">
  271 + <div class="col-xs-10">
269 272  
270 273 </div>
271   - <div class="col-md-1">
272   - <h3>
  274 + <div class="col-xs-1">
  275 + <h3 class="text-right">
273 276  
274 277 <a href="../09-fonction-et-aide/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
275 278  
... ... @@ -300,7 +303,7 @@
300 303 /
301 304 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
302 305 /
303   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  306 + <a href="mailto:">Contact</a>
304 307 </h4>
305 308 </div>
306 309 </div>
09-fonction-et-aide/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../08-erreurs/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../10-import-biblio/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -321,18 +324,18 @@
321 324 </article>
322 325  
323 326 <div class="row">
324   - <div class="col-md-1">
325   - <h3>
  327 + <div class="col-xs-1">
  328 + <h3 class="text-left">
326 329  
327 330 <a href="../08-erreurs/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
328 331  
329 332 </h3>
330 333 </div>
331   - <div class="col-md-10">
  334 + <div class="col-xs-10">
332 335  
333 336 </div>
334   - <div class="col-md-1">
335   - <h3>
  337 + <div class="col-xs-1">
  338 + <h3 class="text-right">
336 339  
337 340 <a href="../10-import-biblio/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
338 341  
... ... @@ -363,7 +366,7 @@
363 366 /
364 367 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
365 368 /
366   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  369 + <a href="mailto:">Contact</a>
367 370 </h4>
368 371 </div>
369 372 </div>
10-import-biblio/index.html View file @ cf03841
... ... @@ -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="2018-01-29 11:35:44 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145 148 <div class="row">
146   - <div class="col-md-1">
147   - <h3>
  149 + <div class="col-xs-1">
  150 + <h3 class="text-left">
148 151  
149 152 <a href="../09-fonction-et-aide/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
150 153  
151 154 </h3>
152 155 </div>
153   - <div class="col-md-10">
  156 + <div class="col-xs-10">
154 157  
155 158 <h3 class="maintitle"><a href="../">Programmer en Python</a></h3>
156 159  
157 160 </div>
158   - <div class="col-md-1">
159   - <h3>
  161 + <div class="col-xs-1">
  162 + <h3 class="text-right">
160 163  
161 164 <a href="../11-biblio-qtido/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
162 165  
163 166  
164 167  
... ... @@ -305,18 +308,18 @@
305 308 </article>
306 309  
307 310 <div class="row">
308   - <div class="col-md-1">
309   - <h3>
  311 + <div class="col-xs-1">
  312 + <h3 class="text-left">
310 313  
311 314 <a href="../09-fonction-et-aide/"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span><span class="sr-only">previous episode</span></a>
312 315  
313 316 </h3>
314 317 </div>
315   - <div class="col-md-10">
  318 + <div class="col-xs-10">
316 319  
317 320 </div>
318   - <div class="col-md-1">
319   - <h3>
  321 + <div class="col-xs-1">
  322 + <h3 class="text-right">
320 323  
321 324 <a href="../11-biblio-qtido/"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span><span class="sr-only">next episode</span></a>
322 325  
... ... @@ -347,7 +350,7 @@
347 350 /
348 351 <a href="https://github.com/twitwi/cours2python/blob/gh-pages/CITATION">Cite</a>
349 352 /
350   - <a href="mailto:remi.emonet@INVERSE-fr.univ-st-etienne">Contact</a>
  353 + <a href="mailto:">Contact</a>
351 354 </h4>
352 355 </div>
353 356 </div>
11-biblio-qtido/index.html View file @ cf03841
... ... @@ -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="2018-02-14 13:50:19 +0100">
  6 + <meta http-equiv="last-modified" content="2018-02-25 15:26:21 +0100">
7 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8 <!-- meta "search-domain" used for google site search function google_search() -->
9 9 <meta name="search-domain" value="">
10 10  
11 11  
... ... @@ -50,11 +50,14 @@
50 50 <ul class="nav navbar-nav">
51 51  
52 52  
53   -
54   -
  53 + <li><a href="../conduct/">Code of Conduct</a></li>
55 54  
  55 +
  56 +
  57 + <!--li><a href="../setup/">Setup</a></li-->
56 58 <li><a href="../reference/">Réference</a></li>
57 59  
  60 +
58 61 <li class="dropdown">
59 62 <a href="../" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Épisodes <span class="caret"></span></a>
60 63 <ul class="dropdown-menu">
61 64  
62 65  
... ... @@ -143,20 +146,20 @@
143 146  
144 147  
145