Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 27-11-2009 20:42:33
- tibo
- Membre expert
- Inscription : 23-01-2008
- Messages : 1 097
[Python] problème de syntaxe je crois
Bonjour,
J'ai téléchargé l'interpréteur Python sur le site officiel et j'apprends avec le tuto de Swinnen.
Mais certaines syntaxes qu'il utilise sont différentes de celle que je peux utiliser.
Par exemple
pour afficher il utilise
moi je suis obligé mettre des parenthèses
ou alors pour importer le module tkinter (une interface graphique)
Swinnen met une majuscule
moi si je met la majuscule ça marche pas
et quand je fais:
c'est converti automatiquement en string
alors que dans le tuto, Swinnen dit que ça reconnais le type de variable
et ya plein d'autre truc, mais j'ai trouvé des solutions.
Si quelqu'un à une réponse je veux bien mais ce n'est pas mon principal problème
Je viens d'attaquer le chapitre sur les fichiers et je n'arrive pas à ouvrir les fichiers
voila ce qui ce passe:
>>> obFichier = open('monfichier','a')
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
obFichier = open('monfichier','a')
TypeError: an integer is required
apparament, il manque un integer quelque part
alors j'ai essayé d'en rajouter un:
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
obFichier = open(0,'monfichier','a')
TypeError: Can't convert 'int' object to str implicitly
>>> obFichier = open('monfichier',0,'a')
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
obFichier = open('monfichier',0,'a')
TypeError: an integer is required
>>> obFichier = open('monfichier','a',0)
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
obFichier = open('monfichier','a',0)
TypeError: an integer is required
>>>
mais il n'y a aucun résultat satisfaisant
alors si quelqu'un a une idée...
A quoi sert une hyperbole?
----- A boire de l'hypersoupe pardi !
Hors ligne
#2 27-11-2009 21:13:43
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 948
Re : [Python] problème de syntaxe je crois
Bonsoir,
Tu as téléchargé la version 3.1 de Python d'assez loin postérieure au bouquin de Swinnen...
Swinnen ne pouvait avoir connaissance de Python 3.x quand il a écrit son bouquin, donc il y a des choses à adapter.
Le print par exemple est devenu une fonction, ce n'est plus print, mais print (n)...
Autre exemple que je connais :
* Avec Python 2.6 : print 9/2 renvoie 4...
* Avec Python 3.x print(9/2) renvoie 4.5 Pour avoir 4 on fait print(9//2)... Et avec 2.x, pour avoir le quotient décimal, il fallait écrire print 9/2.0 ou print 9.0/2...
* Oui, l'import de Tkinter est différente...
* Avec Python 2.x, il était recommandé de ne pas utiliser input (qui pouvait ouvrir la voie à l'exécution d'un code malveillant, mais raw_input qui donnait un string
* Avec Python 3.x, c'est corrigé, le raw_input est devenu input et il y a eu fusion des deux.
En résumé Swinnen écrit pour Python 2.x = plein de surprises avec 3.x...
Deux options :
1. Tu collationnes toutes les différences et tu continues : the show must go on !...
2. Tu vires ton Python 3.x, tu DL le 2.6.2 (ou 2.6.3 ? s'il existe) mais pas le 2.6.4 (version bêta) et tu continues sans surprises avec Swinnen. Quitte à ce quand tu seras assez familiarisé avec Python, tu repasses en 3.x.
Pour une aide plus efficace, va voir le forum Python sur developpez.net.
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#3 28-11-2009 09:19:37
- tibo
- Membre expert
- Inscription : 23-01-2008
- Messages : 1 097
Re : [Python] problème de syntaxe je crois
Merci beaucoup,
Je pense que je vais revenir à la version 2.6
J'en ai mare d'essayer de trouver des bidouillage à chaque différence entre les versions
Mais je n'ai trouvé que la version 2.6.4, rien d'anterieur a part 2.5
c'est vraiment embetant?
Je vais faire un tour sur developpez
encore merci
A quoi sert une hyperbole?
----- A boire de l'hypersoupe pardi !
Hors ligne
Pages : 1