Problème avec la fonction print()

Signaler
-
Messages postés
5059
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
14 septembre 2020
-
Bonjour, à tous,

je débute tout juste en python, depuis ce matin, c'est dire à quel point c'est récent.

J'essaie de reproduire ce qui est montré dans mon tutorial, mais ça ne fonctionne pas. Voici le bout de code:

>>> a=5
>>> if a > 0:
... print(a est supérieur à 0")
File "<stdin>", line 2
print(a est supérieur à 0")
^
SyntaxError: invalid syntax


Donc apparemment il y a un problème de syntaxe, mais je ne trouve pas lequel :)

Merci à tous pour votre aide



Configuration: Linux / Firefox 68.0

3 réponses

Messages postés
5059
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
14 septembre 2020
1 219
Bonjour,

Effectivement, il manque le premier guillemet qui introduit la chaîne de caractères a est supérieur à 0"

Donc écrire: print ("a est supérieur à 0") pour un message

ou print(a) qui donnera 5

Cordialement
Merci beaucoup d'avoir pris la peine de répondre à ce problème qui fait quand même assez peu "cas d'école."

Et du coup, quand on utilise certains fonctions, il faut mettre une tabulation avant ?
Messages postés
5059
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
14 septembre 2020
1 219
On est tous passés par là. J'ai tendance à penser que la recherche des erreurs est le côté passionnant (j'allais écrire merveilleux) tant est grande la satisfaction de trouver les "bugs" et d'obtenir le résultat espéré.

Ceci dit, ma tabulation est la pierre angulaire de la syntaxe de python. C'est ce qui détermine le début et la fin (retrait vers le niveau précédent.

Cela délimite les blocs, qui sont des groupes d'instructions accomplissant un traitement. Dans d'autres langages, dont les plus importants (C, C++, Java, Javascript, etc. ) par des accolades.

D'ailleurs, la norme de base est plutôt le quadruple espace, mais la plupart des interpréteurs acceptent la tabulation en lieu et place des espaces.

Les erreurs de tabulation (absence ou doublon) sont signalées et empêchent la bonne exécution du code.

Les blocs peuvent s'imbriquer, notamment quand des conditions multiples, la fonction if par exemple, définissent une deuxième condition à l'intérieur d'une première. Dans ce cas, une tabulation est employé pour chaque bloc imbriqué.

Dans ce cas, l'alignement ou décalage des blocs successifs correspond à la hiérarchie des instructions successives. L'interpréteur vous signalera toujours un défaut d'alignement.

Pour des raisons de lecture et aussi pour éviter la lourdeur du code, il vaut mieux cependant d'finir des fonctions employées dans les différents blocs.

Les fonctions enfin sont employées soit sans soit après une tabulation selon le bloc où elles apparaissent.

Par exemple quand vous faites des calculs en utilisant une succession ou une combinaison de fonctions, le résultat final figure le plus souvent dans une ligna sans tabulation, puisqu'il résulte de calculs précédemment effectués , hors des blocs précédents donc.

bonne découverte