Convention if statement

Résolu/Fermé
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - 10 oct. 2014 à 23:19
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 oct. 2014 à 12:32
Bonsoir,

alors voilà, j'ai une petite question par rapport à la convention python.

Est-ce que c'est mieux d'écrire:
if reponseServeur == "True":
    break
elif reponseServeur == "False":
    print("\nCe compte existe deja, veuillez utiliser un autre nom de compte\n\n\n")
else:
    print("\nUne erreur est survenue. Veuillez reessayer\n\n\n")

ou alors:
if reponseServeur == "True": break
elif reponseServeur == "False": print("\nCe compte existe deja, veuillez utiliser un autre nom de compte\n\n\n")
else: print("\nUne erreur est survenue. Veuillez reessayer\n\n\n")

?

Sachant que chaque instructions contient seulement une ligne et que la deuxième technique economise 3 lignes.

Merci pour d'avance pour les réponses!

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 11/10/2014 à 11:54
Bonjour,

C'est mieux d'aller à la ligne.
Donc cette version :
if reponseServeur == "True":
    break
elif reponseServeur == "False":
    print("\nCe compte existe deja, veuillez utiliser un autre nom de compte\n\n\n")
else:
    print("\nUne erreur est survenue. Veuillez reessayer\n\n\n")


Note : si reponseServeur est un booléen, c'est True et False sans guillemet qu'il faut utiliser.

Google is your friend
1
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
11 oct. 2014 à 11:53
Tu ne précises pas pourquoi c'est mieux.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 oct. 2014 à 12:02
Car la PEP 8 le recommande et que c'est précisément l'objet de la question...
0
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
10 oct. 2014 à 23:21
C'est exactement pareil, certains disent seulement que la première écriture est plus lisible, mais je suis pas de cet avis.
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
10 oct. 2014 à 23:23
Et d'après la convention python il y a aucune règle? Car je n'arrive pas à trouver quand il y a une ligne uniquement, certes quand il y en a plusieurs j'utilise toujours des indentations sinon ça devient vite illisible.
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
10 oct. 2014 à 23:25
D'ailleurs, est-ce que c'est egalement le cas pour les blocs try/except?
0
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
10 oct. 2014 à 23:25
Qu'est-ce que tu appelles "convention" ? Il y a une syntaxe à respecter, et tu la respectes dans les deux cas.
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
10 oct. 2014 à 23:27
J'appelle "convention" la PEP python
0
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
11 oct. 2014 à 12:10
Dans ce cas si la PEP 8 le recommande j'utiliserais cette syntaxe. Et d'ailleurs pour la variable reponseServeur ce n'est pas un booléen, elle peut aussi retourner "Erreur".
Et d'ailleurs si ça aurait été un booléen, j'aurais utiliser true et false sans guillement, et sans true et false ;)
if reponseServeur:


En tout cas merci à vous deux pour vos réponses et bonne journée!
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 oct. 2014 à 12:32
Très juste ;-)
Bonne journée à toi.
0