NewbieContest

Programmation => Langages compilés => Discussion démarrée par: DarK-CrasH le 15 Mai 2012 à 21:33:22



Titre: Python
Posté par: DarK-CrasH le 15 Mai 2012 à 21:33:22
Bonsoir à tous !
N'ayant pas trouvé de section "Langage interprétés" à côté de langage compilé, j'ai préféré mettre ce sujet ici.

Je débute dans python à l'aide des cours du site du zéro. J'ai un problème : lorsque je veux entrer la commande else ou elif, l’interpréteur me renvoie une erreur de syntaxe qui ne semble pas être présente dans les exemples du site.
Ainsi, j'en ai déduis que les syntaxes on dû évoluer dans les versions supérieures à celle présentée sur le site.
Donc, je demande de l'aide : toutes les syntaxes connues sont-elles à délaisser ? Pouvez-vous me donner les nouvelles syntaxes ?
Merci aux développeurs python qui passeront par ici pour donner un coup de main ! :]]


Titre: Re : Python
Posté par: _o_ le 15 Mai 2012 à 21:49:12
Pourquoi ne pas poser la question sur le site du zéro ? Et surtout, surtout : pourquoi ne pas poster un bout de script qui montre le problème et le message d'erreur associé ? C'est rapport à ma boule de cristal : un malfaisant l'a confondu avec un ballon de foot, et depuis elle fuit.

J'ai failli oublier :
Code:
#!/usr/bin/python
import random

if random.random()<0.5:
  print "It works !"
else:
  print "It works too !"


Titre: Re : Python
Posté par: pixis le 15 Mai 2012 à 21:53:20
A noter que python 3.x requiert des parenthèses pour les arguments de print

Code:
if 2==4:
    print ("j'aime ce site !")
elif 2==5:
    print ("j'aime quand même ce site")
else:
    print ("Ce site est splendide")


Titre: Re : Python
Posté par: DarK-CrasH le 16 Mai 2012 à 11:54:33
Pourquoi ne pas poser la question sur le site du zéro ? Et surtout, surtout : pourquoi ne pas poster un bout de script qui montre le problème et le message d'erreur associé ?

Navré, ma première référence reste NewbieContest, il est vrai que j'aurai dû poster sur le site du zéro en premier.
Effectivement, c'est ma faute :
Code:
a = 5
if a > 0:
    print("a est supérieur à 0.")
else:
    print("a est inférieur ou égal à 0.")


Voici un exemple de code me retournant "syntaxe error" en surlignant le else :]


Titre: Re : Python
Posté par: Asteriksme le 16 Mai 2012 à 11:57:42
Ben quand je tape exactement la même chose dans python, ça marche et pourtant c'est une version 2.quelquechose qui oblige pas à mettre des parenthèses... je m'y connais pas trop en python mais en tous cas ce code marche chez moi.


Titre: Re : Python
Posté par: DarK-CrasH le 16 Mai 2012 à 12:01:24
Bon. Bah je vais chercher un peu. Mais comme je l'ai dit, les syntaxes peuvent changer avec les évolutions de version de python. Ce qui fonctionne chez toi ne fonctionnera peut-être pas chez moi.


Titre: Re : Python
Posté par: pixis le 20 Mai 2012 à 17:50:06
Question bête, mais on sait jamais :
Quand tu tapes ces instructions, tu les fais en un bloc, ou bien tu tapes une ligne, puis tu exécutes la commande, puis nouvelle ligne etc... ?

Est-ce que tu fais :

Code:
>>> a = 10
>>> if a > 5:
print "a superieur a 5"


a superieur a 5
>>> else:
SyntaxError: invalid syntax
>>>

Ou bien :
Code:
>>> a = 10
>>> if ( a > 5 ):
...     print "a supérieur à 5"
... else:
...     print "a est inférieur à 5"
...
a supérieur à 5

Ou encore, est ce que tu passes par une nouvelles fenêtre dans laquelle tu tapes l'ensemble du code avant de l’exécuter ?


Titre: Re : Python
Posté par: yozyop le 21 Mai 2012 à 00:45:56
je commence juste a apprendre le python (1 semaine)
si tu fais un programme, tu fais un fichier et tu l’exécute après.
Installe IDLE.


Titre: Re : Python
Posté par: pixis le 21 Mai 2012 à 01:57:27
C'est gentil de me répondre comme ça, mais en l’occurrence je posais la question à Dark-Crash  :wink:


Titre: Re : Python
Posté par: yozyop le 21 Mai 2012 à 07:22:35
 =D Toutes mes platitudes profondes et avancées...


Titre: Re : Python
Posté par: Asteriksme le 21 Mai 2012 à 14:17:44
Et puis c'est pas obligatoire d'écrire le code dans le fichier pour l'exécuter après, on peut très bien coder en ligne de commande comme sur l'exemple de pixis.


Titre: Re : Python
Posté par: DarK-CrasH le 21 Mai 2012 à 21:49:36
Mon code est de la forme :

Code:
>>> a = 10
>>> if ( a > 5 ):
...     print "a supérieur à 5"
... else:
...     print "a est inférieur à 5"
...
a supérieur à 5

Normalement, je crois que c'est sensé fonctionner ..


Titre: Re : Python
Posté par: pixis le 21 Mai 2012 à 23:35:36
Envoie donc un screenshot de ton code entier, avec l'erreur qui apparaît, on verra bien où ça bloque !