Skip to content

Commit 18f5ff3

Browse files
committed
jb2 & input(): reinstate 3 notebooks that use input()
1 parent 1d5c2a6 commit 18f5ff3

File tree

4 files changed

+54
-8
lines changed

4 files changed

+54
-8
lines changed

myst-toc.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ project:
1111
- file: w1/w1-s2-c2-lecture.md
1212
- file: w1/w1-s4-c1-utiliser-les-notebooks.md
1313
- file: w1/w1-s4-c2-interpreteur-et-notebooks.md
14-
# uses input()
15-
# - file: w1/w1-s4-c3-fibonacci-prompt.md
14+
- file: w1/w1-s4-c3-fibonacci-prompt.md
1615
- file: w1/w1-s4-c4-fibonacci.md
1716
- file: w1/w1-s4-c5-shebang.md
1817
- file: w1/w1-s4-x1-turtle.md
@@ -21,8 +20,7 @@ project:
2120
- file: w1/w1-s5-c3-introduction-types.md
2221
- file: w1/w1-s5-c4-garbage-collector.md
2322
- file: w1/w1-s5-c5-type-checking.md
24-
# uses input()
25-
# - file: w1/w1-s6-c1-calculette.md
23+
- file: w1/w1-s6-c1-calculette.md
2624
- file: w1/w1-s6-c2-affectation-operateurs.md
2725
- file: w1/w1-s6-c3-precision-flottants.md
2826
- file: w1/w1-s6-c4-entiers-bit-a-bit.md
@@ -32,8 +30,7 @@ project:
3230
- file: w2/w2-s1-c1-accents.md
3331
- file: w2/w2-s2-c1-outils-chaines.md
3432
- file: w2/w2-s2-c2-formatage.md
35-
# uses input()
36-
# - file: w2/w2-s2-c3-la-fonction-input.md
33+
- file: w2/w2-s2-c3-la-fonction-input.md
3734
- file: w2/w2-s2-c4-expressions-regulieres.md
3835
- file: w2/w2-s2-x1-expressions-regulieres.md
3936
- file: w2/w2-s3-c1-slices.md

w1/w1-s4-c3-fibonacci-prompt.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ jupytext:
44
extension: .md
55
format_name: myst
66
kernelspec:
7-
display_name: Python 3
7+
display_name: Python 3 (ipykernel)
88
language: python
99
name: python3
1010
language_info:
1111
name: python
12+
nbconvert_exporter: python
1213
pygments_lexer: ipython3
1314
nbhosting:
1415
title: Fibonacci
@@ -79,8 +80,20 @@ def fibonacci(n):
7980

8081
Pour en faire un programme utilisable on va demander à l'utilisateur de rentrer un nombre ; il faut le convertir en entier car `input` renvoie une chaîne de caractères :
8182

83+
```{code-cell} ipython3
84+
# ici j'initialise 'entier' - ce n'est pas vraiment nécessaire
85+
# mais j'ai besoin de le faire pour des raisons sordides
86+
# liées à la génération du PDF...
87+
88+
entier = 10
89+
```
90+
8291
```{code-cell} ipython3
8392
:latex-hidden-code-instead: entier = 12
93+
:tags: [skip-execution]
94+
95+
# on s'arrange pour ne pas exécuter ceci dans le contexte
96+
# de la production du PDF car ça bloquerait indéfiniment..
8497
8598
entier = int(input("Entrer un entier "))
8699
```

w1/w1-s6-c1-calculette.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,21 @@ print(chaine)
180180
Il est parfois nécessaire de convertir une donnée d'un type dans un autre.
181181
Par exemple on peut demander à l'utilisateur d'entrer une valeur au clavier grâce à la fonction `input`, comme ceci :
182182

183+
```{code-cell} ipython3
184+
:tags: []
185+
186+
# à nouveau ceci n'est pas indispensable mais
187+
# pour la production du PDF il nous faut ruser un peu...
188+
189+
reponse = "12"
190+
```
191+
183192
```{code-cell} ipython3
184193
:latex-hidden-code-instead: reponse = '25'
194+
:tags: [skip-execution]
195+
196+
# et à nouveau ceci n'est pas exécuté pendant
197+
# la production du PDF parce que c'est bloquant
185198
186199
reponse = input("quel est votre âge ? ")
187200
```

w2/w2-s2-c3-la-fonction-input.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ jupytext:
44
extension: .md
55
format_name: myst
66
kernelspec:
7-
display_name: Python 3
7+
display_name: Python 3 (ipykernel)
88
language: python
99
name: python3
1010
language_info:
1111
name: python
12+
nbconvert_exporter: python
1213
pygments_lexer: ipython3
1314
nbhosting:
1415
title: La fonction input
@@ -32,6 +33,16 @@ nbhosting:
3233

3334
Occasionnellement, il peut être utile de poser une question à l'utilisateur.
3435

36+
```{admonition} Note à propos de la production de PDF
37+
:class: dropdown
38+
39+
lorsqu'on produit une version PDF (ou html d'ailleurs) de ce complément, on le notebook est exécuté par une tâche automatique pour pouvoir afficher les résultats de chaque cellule
40+
du coup si on ne fait rien de particulier les cellules qui font appel à `input()` bloquent puisque personne n'est là pour entrer une réponse à la question
41+
c'est pourquoi on se livre à une petite gymnastique qui consiste à
42+
- ajouter avant l'appel à `input()` une initialisation
43+
- et à "sauter" l'exécution de la cellule qui fait vraiment le `input()` lors des taches automatiques
44+
```
45+
3546
+++
3647

3748
### La fonction `input`
@@ -40,8 +51,19 @@ Occasionnellement, il peut être utile de poser une question à l'utilisateur.
4051

4152
C'est le propos de la fonction `input`. Par exemple :
4253

54+
```{code-cell} ipython3
55+
# à nouveau ceci n'est pas indispensable mais
56+
# pour la production du PDF il nous faut ruser un peu...
57+
58+
nom_ville = "Nancy"
59+
```
60+
4361
```{code-cell} ipython3
4462
:latex-hidden-code-instead: nom_ville = 'Paris'
63+
:tags: [skip-execution]
64+
65+
# et à nouveau ceci n'est pas exécuté pendant
66+
# la production du PDF parce que c'est bloquant
4567
4668
nom_ville = input("Entrez le nom de la ville : ")
4769
```
@@ -72,6 +94,7 @@ Dans ce cas il faut appeler la fonction `int` pour convertir le résultat en un
7294

7395
```{code-cell} ipython3
7496
:latex-skip-eval: true
97+
:tags: [skip-execution]
7598
7699
int(input("Nombre de lignes ? ")) + 3
77100
```

0 commit comments

Comments
 (0)