IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Exercice sur les operations mathematiques


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut Exercice sur les operations mathematiques
    Bonjour,
    Je suis débutant. Dans l'exercice suivant :
    "Écrire une fonction nombre_chiffres prenant en paramètre deux entiers positifs nombre et chiffre, ce dernier étant compris entre 0 et 9.
    La fonction doit renvoyer le nombre de fois où apparaît le chiffre dans la composition du nombre." Une solution est proposée à la suite de l'exercice sur le site développez.net. Aux lignes 2 et 3 on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if nombre == 0: 
    		return 1 if chiffre == 0 else 0
    Je ne comprends pas la syntaxe de : return 1 if chiffre == 0 else 0.
    Merci de bien vouloir éventuellement me l'expliquer.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par vincent.steiner Voir le message
    Je ne comprends pas la syntaxe de : "return 1 if chiffre == 0 else 0 "
    C'est un raccourci syntaxique. Ca permet de remplacer de façon plus simple l'écriture classique
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if chiffre == 0:
    	return 1
    else:
    	return 0

    Ca peut par exemple servir à simplifier des répétitions d'instruction. Exemple...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (chiffre % 2) == 0:
    	print("pair")
    else:
    	print("impair")
    ... s'écrira plus simplement print("pair" if (chiffre % 2) == 0 else "impair"). La fonction print() n'est appelée qu'une fois (si demain le programme évolue, il n'y aura qu'une seule modification à effectuer).

    Citation Envoyé par vincent.steiner Voir le message
    Une solution est proposée à la suite de l'exercice sur le site développez.net
    Oui, je fais partie de l'équipe qui a proposé cet exercice et écrit les solutions. Je viens d'aller y mettre des commentaires pour expliquer plus en détail la méthode et la syntaxe.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut
    Merci beaucoup pour ces explications et ces commentaires. Ainsi, la solution devient beaucoup plus claire pour moi.

    Comment serait indentée l'écriture "normale" par rapport à la ligne précédente ? Elle serait bien indentée (incluse) après le "if nombre == 0" ? Mon éditeur "idle" renacle.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par vincent.steiner Voir le message
    Comment serait indentée l'écriture "normale" par rapport à la ligne précédente ? Elle serait bien indentée (incluse) après le "if nombre == 0" ? Mon éditeur "idle" renacle.
    Je ne pige pas bien ce que tu entends par "normale" Toute écriture en Python est "normale". Si elle est indentée alors c'est qu'elle fait partie d'un bloc (condition, boucle, fonction, classe) sinon non
    Exemple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (chiffre % 2) == 0:
    	print("pair")
    else:
    	print("impair")
    print("terminé")
    Ici le "terminé" est écrit dans tous les cas

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (chiffre % 2) == 0:
    	print("pair")
    	print("terminé pair")
    else:
    	print("impair")
    	print("terminé impair")
    Ici chaque "terminé" n'est écrit que s'il est dans le cas prévu par la condition

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print("pair" if (chiffre % 2) == 0 else "impair")
    print("terminé")
    Ici vu qu'il n'y a pas de bloc, alors il n'y a pas d'indentation. Chaque print() est pris individuellement et le fait que le premier contienne une condition simplifiée ne concerne pas le second.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. exercice sur les matrices
    Par massimo dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/03/2007, 17h20
  2. besoin d aide sur un exercice sur les pointeurs
    Par azumachakib69 dans le forum C
    Réponses: 3
    Dernier message: 28/12/2006, 01h16
  3. Exercice sur les tableaux
    Par IDE dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 06/11/2006, 19h33
  4. Besoin d'aide pour un exercice sur les registres
    Par zakuza dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/04/2006, 14h23
  5. Réponses: 4
    Dernier message: 28/07/2005, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo