Frederic Baldit | 16 Nov 2009 10:38
Picon
Favicon

Re: fichier de démarrage sous IDLE

Le lundi 16 novembre 2009 à 09:54 +0100, R. Bastian a écrit :
> On Mon, 16 Nov 2009 09:37:11 +0100
> Frederic Baldit <frederic38300 <at> aol.com> scribit:
> 
> > Le lundi 16 novembre 2009 à 08:07 +0100, thomas legay a écrit :
> > > Bonjour,
> > Bonjour,
> > > je ne sais pas si c'est ce que tu attend mais en écrivant 1./3 çà marche.
> > Non, je connais bien sûr cette possibilité, mais je veux l'éviter.
> > 
> > Cordialement,
> >     F.B.
> 
> N'est-il pas qu'en Python3.x: 
>     1/3 -> 0.333
>     1//3 -> 0
Bonjour,
ARRRRG!!!! Je suis sous python 2.6 (et même plus exactement sous 2.5 en
debian et 2.6 sous XP, sur mon portable). La syntaxe de la version 3 me
paraît bien plus naturelle, mais le problème c'est que j'utilise (je
suis enseignant) une installation de python sous XP en 2.6 qui a été
faite à la rentrée dans mon lycée et que je ne me vois pas tout de suite
demander une migration de 2.6 à 3 (le responsable informatique a pas mal
de boulot...).
Merci en tout cas pour l'info.
Cordialement,
    F.B.

--

-- 
Gerez vos abonnements aux listes de diffusion : http://listes.aful.org
(Continue reading)

Victor Stinner | 16 Nov 2009 12:18

Re: fichier de démarrage sous IDLE

Le lundi 16 novembre 2009 10:38:19, Frederic Baldit a écrit :
> Le lundi 16 novembre 2009 à 09:54 +0100, R. Bastian a écrit :
> > N'est-il pas qu'en Python3.x:
> >     1/3 -> 0.333
> >     1//3 -> 0
> 
> Bonjour,
> ARRRRG!!!! Je suis sous python 2.6 (et même plus exactement sous 2.5 en
> debian et 2.6 sous XP, sur mon portable)

Je pense que tout a été dit dans les courriels précédents.

C'est la PEP 238 qui a 8 ans qui a proposé de changer la divison :

   http://www.python.org/dev/peps/pep-0238/

"from __future__ import division" permet d'avoir une division en nombres réels 
pour le fichier courant, et dans ce cas il faut explicitement utiliser a//b 
pour la divison entière. "from __future__ import division" est disponible 
depuis Python 2.5 (et sûrement aussi pour les anciennes versions).

Dans Python3, la divison utilise des nombres réels par défaut.

Et donc :
 - Python 2 : utiliser 1.0/3 ou bien from __future__ import divison
 - Python 3 : le comportement par défaut est celui que tu veux ;-)

--

-- 
Victor Stinner
http://www.haypocalc.com/
(Continue reading)

Frederic Baldit | 16 Nov 2009 13:15
Picon
Favicon

Re: fichier de démarrage sous IDLE

Le lundi 16 novembre 2009 à 12:18 +0100, Victor Stinner a écrit :
> Le lundi 16 novembre 2009 10:38:19, Frederic Baldit a écrit :
> > Le lundi 16 novembre 2009 à 09:54 +0100, R. Bastian a écrit :
> > > N'est-il pas qu'en Python3.x:
> > >     1/3 -> 0.333
> > >     1//3 -> 0
> > 
> > Bonjour,
> > ARRRRG!!!! Je suis sous python 2.6 (et même plus exactement sous 2.5 en
> > debian et 2.6 sous XP, sur mon portable)
> 
> Je pense que tout a été dit dans les courriels précédents.
> 
> C'est la PEP 238 qui a 8 ans qui a proposé de changer la divison :
> 
>    http://www.python.org/dev/peps/pep-0238/
> 
> "from __future__ import division" permet d'avoir une division en nombres réels 
> pour le fichier courant, et dans ce cas il faut explicitement utiliser a//b 
> pour la divison entière. "from __future__ import division" est disponible 
> depuis Python 2.5 (et sûrement aussi pour les anciennes versions).
Bonjour,
je persiste (au moins pour un temps) à essayer de m'en sortir avec ma
version 2.5.2. En effet il y a un autre but que je poursuis: pouvoir
(par exemple) automatiquement disposer de la racine carrée sans avoir à
faire un "from math import *" au début de mes scripts. L'idée serait
d'exécuter cette ligne dans un fichier au démarrage d'idle et qu'ensuite
tout script puisse utiliser sqrt().
Je pensais avoir progressé car j'ai vu que l'appel d'idle avec l'option
-s exécute le fichier de démarrage dont le nom est mis dans la variable
(Continue reading)

Jean-Luc Menut | 16 Nov 2009 14:48
Picon
Favicon

Re: fichier de démarrage sous IDLE

 > Python 2 : utiliser 1.0/3 ou bien from __future__ import divison
 > python 3 : le comportement par défaut est celui que tu veux ;-)

Si j'ai bien compris ce qu'il veut c'est que le from __future__ import 
divison soit exécuté automatiquement par idle sans qu'il y ait besoin de 
le préciser dans le script.

 >Si une personne compétente a une idée, merci d'avance!!

Je ne sais pas comment on fait sous idle, donc je ne peux pas t'aider 
mais si tu peux utiliser un autre shell, avec ipython l'importation 
automatique de module marche. Au vu des qualités par ailleurs de ce 
shell, tu devrait y jeter un oeil si cela t'es possible (sinon c'est 
quand même plutot dangereux de masquer ce genre de chose puisqu'un tel 
script plantera sur une autre machine/compte/shell python)

--

-- 
Gerez vos abonnements aux listes de diffusion : http://listes.aful.org

Frederic Baldit | 16 Nov 2009 14:31
Picon
Favicon

Re: fichier de démarrage sous IDLE

Bonjour,
j'ai (encore) un peu progressé: pour ne pas relancer de nouveau
processus lors de F5 il faut appeler idle avec l'option -n (du coup il
n'y a pas le message RESTART dans la fenêtre de l'interpréteur). Mais un
point me bloque. Voilà ma situation actuelle (sous linux):

1) mon .bashrc définit et exporte la variable PYTHONSTARTUP
à /home/fred/.pythonrc.py

2) Le fichier .pythonrc.py contient

from __future__ import division
from math import *

3) le fichier essai.py contient
print sqrt(2)
print 1/3

4) la commande "idle-python2.5 -n essai.py" suivie de "F5" provoque
(normal) une erreur

5) la commande "idle-python2.5 -n -s essai.py" suivie de "F5" ne
provoque pas d'erreur mais l'affichage

1.41421356237
0

Donc l'import de la "vraie" division semble ne pas marcher. Et là je ne
vois vraiment pas comment faire...

(Continue reading)


Gmane