Page 1 sur 2

[Résolu] Python IDLE3

Posté : ven. 27 mai 2016 11:16
par antoin
Je me suis mis à l'apprentissage de Python (3.4.2) sur le pi3.
Pour cela je suis le tutoriel fourni avec.
je suis au chapitre 4 se reporter au tutorial car les indentations ont été perdues lors de la recopie

>>> x = int(input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
... x = 0
... print('Negative changed to zero')
... elif x == 0:
... print('Zero')
... elif x == 1:
... print('Single')
... else:
... print('More')
...
More

j'essaye de recopier mais je n'arrive pas à obtenir les mes indentations que le modèle
>>> if x<0:
x=0
print('négatif changé en 0')
elif x==0:

SyntaxError: invalid syntax

pas moyen d'obtenir les décalages comme le modèle!

Re: Python

Posté : ven. 27 mai 2016 12:46
par domi
Pour une meilleur compréhension, il faut utiliser la balise "Code", cela facilitera ta mise en page des indentations.

Code : Tout sélectionner

if (je peux indenter = vrai) then
    print("je fait l'indentation")
end
print("plus d'indentation")
Voila,
Cdt

Re: Python

Posté : mar. 31 mai 2016 14:17
par antoin
je vais passer par des captures d'écran:
je veux recopier dans la console python:
essai1.png
essai1.png (21.84 Kio) Vu 2065 fois
quand je tape dans la console
le elif ne s'indente pas au niveau du if
et j'ai un message d'erreur.
si j'enlève la tabulation j'ai encore un message d'errue
si j'essaye de placer le elif au niveau du if avec des espaces, j'ai encore le message d'erreur
essai2.png
essai2.png (7.85 Kio) Vu 2065 fois
De plus le tutoriel n'explique pas l'editeur des fichiers programmes!
je suis toujours sur la console.
sur le tutoriel c'est quoi les ... ?

Re: Python

Posté : mar. 31 mai 2016 19:46
par Manfraid
Salut,

déjà comment fait tu tes 'espace' pour faire l'indentation
ensuite attention il faut toujours respecter la même genre 2 espace n'est pas compatible avec une tabulation,

ce que je te conseille c'est de faire comme ceci

Code : Tout sélectionner

>>> if x < 0:
[ espace ][ espace ]x = 0
[ espace ][ espace ]print('negative changed to zero')
elif x == 0:
[ espace ][ espace ]print('Zero')

ensuite pour ta deuxième question les ... normalement il apparaisse quand tu fait entrée

Re: Python

Posté : mar. 31 mai 2016 23:03
par antoin
je ne tape aucun espace; l'indentation se fait toute seule jusqu'à elif

Re: Python

Posté : mer. 1 juin 2016 04:08
par vague nerd
Bonsoir.

Le elif doit être au même niveau d'indentation que le if correspondant.
L'indentation doit se faire par des tabulations avec python 3, je crois.
Python 2 support les [espace]. Il faut en mettre le même nombre devant le if et le elif.

Cdt.

(Edit : +1 Manfraid. Je me contente de reformuler !)

Re: Python

Posté : mer. 1 juin 2016 18:11
par antoin
vague nerd a écrit : Le elif doit être au même niveau d'indentation que le if correspondant.
L'indentation doit se faire par des tabulations avec python 3, je crois.
Python 2 support les [espace]. Il faut en mettre le même nombre devant le if et le elif.
)
J'avais compris mais quand je le fais ça me donne une erreur.
Comme j'en avais marre de tourner en rond j'ai chargé sous window amienspython.
Ils ont un éditeur PyScripter réalisé en Delphi.
Je n'ai aucun problème à taper ce programme avec leur éditeur et il s'éxécute sans erreur.
L'exemple du tutoriel de python idle 3 tapait cela dans la console, ce que je n'arrive pas à faire; tant pis.

Comme je le disais plus haut faut que je comprenne le fonctionnement de l'editeur fourni avec le pi3

Re: Python

Posté : jeu. 2 juin 2016 06:51
par vague nerd
Bonjour.
J'avais compris mais quand je le fais ça me donne une erreur.
Dans votre exemple essai2.png, ce n'est pas le cas, le elif est 'plus indenté' que le if.
Cdt.

Re: Python

Posté : jeu. 2 juin 2016 10:00
par Romuald
...

Re: Python

Posté : jeu. 2 juin 2016 10:38
par vague nerd
+1 @romuald

Et les if et elif sont au même niveau d'indentation !

Cdt.