... | @@ -103,6 +103,7 @@ N = 10 |
... | @@ -103,6 +103,7 @@ N = 10 |
|
methode_echantillonnage = echantillon_uniforme
|
|
methode_echantillonnage = echantillon_uniforme
|
|
echantillon = methode_echantillonnage(N)
|
|
echantillon = methode_echantillonnage(N)
|
|
en_periode_de_retour = True
|
|
en_periode_de_retour = True
|
|
|
|
```
|
|
|
|
|
|
#### notion de portée des variables dans une fonction, mot-clé "global"
|
|
#### notion de portée des variables dans une fonction, mot-clé "global"
|
|
|
|
|
... | @@ -117,7 +118,7 @@ Il y a deux façons de répercuter les modifications de a, b et N dans tout le p |
... | @@ -117,7 +118,7 @@ Il y a deux façons de répercuter les modifications de a, b et N dans tout le p |
|
|
|
|
|
C'est sans doute à discuter : quelle méthode est la plus claire ? la plus sûre ?
|
|
C'est sans doute à discuter : quelle méthode est la plus claire ? la plus sûre ?
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
## La figure
|
|
## La figure
|
|
La figure est divisée en une grille de 1 colonne et composée de 5 lignes, dont une ligne plus haute pour le graphique. 3 des autres lignes vont recevoir un curseur, et la dernière une case à cocher. On va donc définir le nom des espaces pour le tracé ("Axes"), en fonction de leur rôle.
|
|
La figure est divisée en une grille de 1 colonne et composée de 5 lignes, dont une ligne plus haute pour le graphique. 3 des autres lignes vont recevoir un curseur, et la dernière une case à cocher. On va donc définir le nom des espaces pour le tracé ("Axes"), en fonction de leur rôle.
|
... | @@ -172,7 +173,7 @@ nom_du_slider = Slider( |
... | @@ -172,7 +173,7 @@ nom_du_slider = Slider( |
|
On définit la fonction qui sera appelée si on change le curseur du slider :
|
|
On définit la fonction qui sera appelée si on change le curseur du slider :
|
|
nom_du_slider.on_changed(fonction_appellée)
|
|
nom_du_slider.on_changed(fonction_appellée)
|
|
|
|
|
|
Pour le slider qui gouverne N, il y a deux spécificités : comme on veut un entier, on définit comme arguments supplémentaires valstep, la liste des valeurs permises (on transforme la saisie continue en saisie discrète), et comme ce sont des flottants on définit un affichage avec zéro cdhiffre après la virgule. Il existe un autre exemple dans le projet ST2shape,
|
|
Pour le slider qui gouverne N, il y a deux spécificités : comme on veut un entier, on définit comme arguments supplémentaires valstep, la liste des valeurs permises (on transforme la saisie continue en saisie discrète), et comme ce sont des flottants on définit un affichage avec zéro chiffre après la virgule. Il existe un autre exemple dans le projet ST2shape,
|
|
|
|
|
|
*pour la checkbox*
|
|
*pour la checkbox*
|
|
nom_du_checkbox= CheckButtons(ax_ou_le_checkbox_est_installe, [ liste des titres des items"], actives= [liste des entiers = indices des checkbox activées au départ]).
|
|
nom_du_checkbox= CheckButtons(ax_ou_le_checkbox_est_installe, [ liste des titres des items"], actives= [liste des entiers = indices des checkbox activées au départ]).
|
... | @@ -219,9 +220,9 @@ Si on exécute le code, on voit déjà la courbe initiale et les widgets mais il |
... | @@ -219,9 +220,9 @@ Si on exécute le code, on voit déjà la courbe initiale et les widgets mais il |
|
### définition des fonctions associées aux widgets, version une par widget
|
|
### définition des fonctions associées aux widgets, version une par widget
|
|
|
|
|
|
Les fonctions liées à un widget ne peuvent prendre qu'un argument, imposé par le type du widget. Pour un slider, l'argument ne peut être que la valeur du curseur.
|
|
Les fonctions liées à un widget ne peuvent prendre qu'un argument, imposé par le type du widget. Pour un slider, l'argument ne peut être que la valeur du curseur.
|
|
De plus, on relie le wid but widget à la fonction, donc sans parenthèses, on ne peut pas passer des arguments au moment de l'association !
|
|
De plus, on relie le widget à la fonction, donc sans parenthèses, on ne peut pas passer des arguments au moment de l'association !
|
|
|
|
|
|
si j'écrivais mon_widget.on_changed(ma_fonction(a=12, b= 5)) j'associerais le widget à ce que retourne la fonction avec a=12 et b=5, ce qui a peu de chances d'être une fonction...
|
|
Si j'écrivais mon_widget.on_changed(ma_fonction(a=0.3, b= 1.4)) j'associerais le widget à ce que retourne la fonction avec a=0.3 et b=0.4, ce qui a peu de chances d'être une fonction...
|
|
|
|
|
|
Dans un premier temps, on va se débrouiller en définissant une fonction par widget, et en utilisant les variables globales dans les fonctions (mot-clef *global*)
|
|
Dans un premier temps, on va se débrouiller en définissant une fonction par widget, et en utilisant les variables globales dans les fonctions (mot-clef *global*)
|
|
|
|
|
... | | ... | |