J'ai essayé plusieurs configurations de PyScripter et j'ai buté sur des problèmes d'encodage des caractères spécifiques du français, particulièrement après sauvegarde des scripts. Malgré les différents formats de fichiers que l'on peut choisir, la sauvegarde n'est correcte qu'en débutant le script par # -*- coding:Latin-1 -*-.
Avant sauvegarde, les scripts s'exécutent avec Python engine "internal" ou "remote tk", mais après sauvegarde ils ne fonctionnent plus qu'en "internal".
Les exemples qui sont le dossier "démo" ont les mêmes problèmes. Je n'ai curieusement réussi à faire fonctionner le fichier "fonctions" qu'en le collant dans un nouveau module pour lequel l'encodage est sf_Ansi.
FrançoisM
2.
Le mardi, novembre 10 2009, 12:05 par FrançoisM
Les problèmes d'encodage sont aussi liés à l'ordinateur utilisé. Je rencontre les difficultés décrites précédemment sur mon portable, mais sur les postes fixes de mon établissement, l'exécution ou la sauvegarde des scripts ne posent pas de souci avec PyScripter.
FrançoisM
3.
Le dimanche, novembre 22 2009, 20:49 par Vincent MAILLE
Bonjour,
Merci pour ces remontées, c'est assez curieux et énervant en effet ces problèmes d'accents. Chez moi c'est l'inverse les fichiers qui contiennent print("éé") fonctionnent chez moi, mais pas au lycée. Nous sommes aussi en train de réfléchir à ce problème, mais nous n'avons pas trouvé de solution miracle pour le moment...Si vous avez des idées nous sommes preneur
Après de nouvelles recherches, voici ce que j'ai trouvé :
En réalité j'avais deux problèmes que j'ai eu du mal à démêler :
1) Mon support de sauvegarde était altéré (un disque externe sur lequel j'avais dû faire des réparations et qui semblait rétabli). Les scripts écrits avec PyScripter et qui fonctionnaient correctement me signalaient des erreurs d'encodage, à l'exécution, après sauvegarde sur ce support. Solution : sauvegarder sur un support en bon état de marche.
2) L'encodage avec PyScripter. Il faut distinguer l'encodage de l'éditeur de celui utilisé par l'interpréteur. Avec les paramètres par défaut (UTF-16LE) pour l'éditeur, il n'est pas nécessaire de débuter le script par une ligne qui spécifie l'encodage. Les print "Côté" passent sans problème. Les input par contre signalent une erreur d'encodage à l'exécution (conjecture : peut-être à cause de la fenêtre qui s'ouvre). Solution : s=raw_input(u"côté"). Le "u" permet à l'interpréteur de reconnaître les lettres spécifiques utilisées en français. :)
FrançoisM
5.
Le mercredi, décembre 9 2009, 10:16 par Vincent MAILLE
Merci pour ces informations très intéressantes et très constructives, elles donnent des pistes pour régler tous ces problèmes d'accents très pénibles. Je suis en train d'écrire une bibliothèque qui règlerait tout ça mais ce n'est pas simple.... Si vous êtes intéressé pour y participer, car vous semblez bien maitriser le sujet, je vous invite à me contacter par mail.
Bonjour, pourriez vous me dire comment faire afficher les résultats exacts avec python s'il vous plait? Merci.
7.
Le samedi, janvier 30 2010, 12:02 par Vincent MAILLE
Bonjour,
C'est à dire ? [m]2/3[/m] pour le calcul de 4:6 par exemple ? ou [m]2sqrt{3}[/m] pour [m]sqrt{12}[/m] ?
Python n'est pas un logiciel de calcul formel (Un peu comme excel). Donc il faut programmer ces choses si on en a besoin. D'ailleurs l'algorithme pour simplifier [m]sqrt{x}[/m] en [m]a sqrt{b}[/m] est très intéressant à faire en seconde.
J'ai fait un petit algo pour l'intersection de de deux droites et je voudrais obtenir les coordonnées sous forme exacte (au moins pour les fractions), c'est pour une classe de seconde. Merci.
9.
Le lundi, février 1 2010, 10:40 par Agnès Baraquin
bonjour,
je pense que vous partez d'équations de droites à coefficients entiers. On effectue les calculs à la main pour la partie algorithme, on obtient par exemple x=(b2-b1)/(a1-a2).
Ensuite, pour l'affichage, on va considérer séparément le numérateur du dénominateur. on peut poser nx=b2-b1 et dx=a1-a2
ensuite, on peut améliorer l'affichage qui sera par exemple à la fin
print 'x=',nx,'/',dx
on ajoute des tests: par exemple, on rend le dénominateur positif avec un si ...
on peut simplifier en divisant numérateur et dénominateur par leur pgcd: c'est à dire avec une boucle for: on essaie de diviser par les entiers consécutifs dans l'ordre décroissant à partir du dénominateur...
si le dénominateur est 1 on n'affichera que le numérateur...
Pour la partie élève, vous pouvez leur faire réaliser une partie de l'algorithme/du programme, leur exposer une autre partie que vous aurez fait, l'intégrer dans le programme...
Certains élèves chercheront eux-mêmes à la maison la simplification optimale, peut-être... les possibilités sont très différentes
voici des idées. Si vous voulez des informations plus précises, merci de présenter une partie de votre programme.
bon courage pour la suite.
Agnès Baraquin
Une question m'interpelle (en fait, plusieurs mais, les autres concernent la liste de course que je dois faire ce soir à Shopi...) ... Sur python amiens ... Serait-il possible d'inclure l'extension de visualisation turtle directement sur la page de travail pour ne pas avoir besoin de jongler entre les deux fenetres ... Surtout lorsqu'on l'utilise en classe ! Si, c'est vrai : il y a au moins un prof qui fait du python/turtle avec ses élèves...
Cordialement,
Cricri
11.
Le jeudi, avril 29 2010, 18:14 par Vincent MAILLE
Bonjour,
Non, vous nêtes pas seul à utiliser la tortue en Python, je trouve que cest un outil motivant pour revoir la trigonométrie. On est surpris de lenthousiasme des élèves alors que la qualité du graphisme est plutôt limitée comparé aux consoles de jeux actuelles. En ce qui concerne AmiensPython, nous avons inclus cette bibliothèque, mais lexécution reste externe. Cependant, vous pouvez régler les 2 fenêtres en mosaïque et ne plus fermer celle de la tortue. Il faut alors commencer le programme par reset() pour réinitialiser la fenêtre. Bonnes courses.
V. Maille
Commentaires
J'ai essayé plusieurs configurations de PyScripter et j'ai buté sur des problèmes d'encodage des caractères spécifiques du français, particulièrement après sauvegarde des scripts. Malgré les différents formats de fichiers que l'on peut choisir, la sauvegarde n'est correcte qu'en débutant le script par # -*- coding:Latin-1 -*-.
Avant sauvegarde, les scripts s'exécutent avec Python engine "internal" ou "remote tk", mais après sauvegarde ils ne fonctionnent plus qu'en "internal".
Les exemples qui sont le dossier "démo" ont les mêmes problèmes. Je n'ai curieusement réussi à faire fonctionner le fichier "fonctions" qu'en le collant dans un nouveau module pour lequel l'encodage est sf_Ansi.
FrançoisM
Les problèmes d'encodage sont aussi liés à l'ordinateur utilisé. Je rencontre les difficultés décrites précédemment sur mon portable, mais sur les postes fixes de mon établissement, l'exécution ou la sauvegarde des scripts ne posent pas de souci avec PyScripter.
FrançoisM
Bonjour,
Merci pour ces remontées, c'est assez curieux et énervant en effet ces problèmes d'accents. Chez moi c'est l'inverse les fichiers qui contiennent print("éé") fonctionnent chez moi, mais pas au lycée. Nous sommes aussi en train de réfléchir à ce problème, mais nous n'avons pas trouvé de solution miracle pour le moment...Si vous avez des idées nous sommes preneur
Vincent MAILLE
Après de nouvelles recherches, voici ce que j'ai trouvé :
En réalité j'avais deux problèmes que j'ai eu du mal à démêler :
1) Mon support de sauvegarde était altéré (un disque externe sur lequel j'avais dû faire des réparations et qui semblait rétabli). Les scripts écrits avec PyScripter et qui fonctionnaient correctement me signalaient des erreurs d'encodage, à l'exécution, après sauvegarde sur ce support. Solution : sauvegarder sur un support en bon état de marche.
2) L'encodage avec PyScripter. Il faut distinguer l'encodage de l'éditeur de celui utilisé par l'interpréteur. Avec les paramètres par défaut (UTF-16LE) pour l'éditeur, il n'est pas nécessaire de débuter le script par une ligne qui spécifie l'encodage. Les print "Côté" passent sans problème. Les input par contre signalent une erreur d'encodage à l'exécution (conjecture : peut-être à cause de la fenêtre qui s'ouvre). Solution : s=raw_input(u"côté"). Le "u" permet à l'interpréteur de reconnaître les lettres spécifiques utilisées en français. :)
FrançoisM
Merci pour ces informations très intéressantes et très constructives, elles donnent des pistes pour régler tous ces problèmes d'accents très pénibles. Je suis en train d'écrire une bibliothèque qui règlerait tout ça mais ce n'est pas simple.... Si vous êtes intéressé pour y participer, car vous semblez bien maitriser le sujet, je vous invite à me contacter par mail.
Merci d'avance,
V. Maille
Bonjour, pourriez vous me dire comment faire afficher les résultats exacts avec python s'il vous plait? Merci.
Bonjour,
C'est à dire ? [m]2/3[/m] pour le calcul de 4:6 par exemple ? ou [m]2sqrt{3}[/m] pour [m]sqrt{12}[/m] ?
Python n'est pas un logiciel de calcul formel (Un peu comme excel). Donc il faut programmer ces choses si on en a besoin. D'ailleurs l'algorithme pour simplifier [m]sqrt{x}[/m] en [m]a sqrt{b}[/m] est très intéressant à faire en seconde.
Vincent
J'ai fait un petit algo pour l'intersection de de deux droites et je voudrais obtenir les coordonnées sous forme exacte (au moins pour les fractions), c'est pour une classe de seconde. Merci.
bonjour,
je pense que vous partez d'équations de droites à coefficients entiers. On effectue les calculs à la main pour la partie algorithme, on obtient par exemple x=(b2-b1)/(a1-a2).
Ensuite, pour l'affichage, on va considérer séparément le numérateur du dénominateur. on peut poser nx=b2-b1 et dx=a1-a2
ensuite, on peut améliorer l'affichage qui sera par exemple à la fin
print 'x=',nx,'/',dx
on ajoute des tests: par exemple, on rend le dénominateur positif avec un si ...
on simplifie avec une boucle for (cf équation ax+b=cx+d) pedagogie.ac-amiens.fr/ma...
on peut simplifier en divisant numérateur et dénominateur par leur pgcd: c'est à dire avec une boucle for: on essaie de diviser par les entiers consécutifs dans l'ordre décroissant à partir du dénominateur...
si le dénominateur est 1 on n'affichera que le numérateur...
Pour la partie élève, vous pouvez leur faire réaliser une partie de l'algorithme/du programme, leur exposer une autre partie que vous aurez fait, l'intégrer dans le programme...
Certains élèves chercheront eux-mêmes à la maison la simplification optimale, peut-être... les possibilités sont très différentes
voici des idées. Si vous voulez des informations plus précises, merci de présenter une partie de votre programme.
bon courage pour la suite.
Agnès Baraquin
Bonjour,
Une question m'interpelle (en fait, plusieurs mais, les autres concernent la liste de course que je dois faire ce soir à Shopi...) ... Sur python amiens ... Serait-il possible d'inclure l'extension de visualisation turtle directement sur la page de travail pour ne pas avoir besoin de jongler entre les deux fenetres ... Surtout lorsqu'on l'utilise en classe ! Si, c'est vrai : il y a au moins un prof qui fait du python/turtle avec ses élèves...
Cordialement,
Cricri
Bonjour,
Non, vous nêtes pas seul à utiliser la tortue en Python, je trouve que cest un outil motivant pour revoir la trigonométrie. On est surpris de lenthousiasme des élèves alors que la qualité du graphisme est plutôt limitée comparé aux consoles de jeux actuelles. En ce qui concerne AmiensPython, nous avons inclus cette bibliothèque, mais lexécution reste externe. Cependant, vous pouvez régler les 2 fenêtres en mosaïque et ne plus fermer celle de la tortue. Il faut alors commencer le programme par reset() pour réinitialiser la fenêtre. Bonnes courses.
V. Maille
[PJ=PJ_10.04.29_1.png]