in Cette réponse Il est indiqué que vous pouvez utiliser retourner A + 1 si a> b -1 Code> Dans Python 3, quand j'essaie de l'utiliser:
def max3(a,b,c):
return a if a > b and c
return b if b > c else c
3 Réponses :
Vous pouvez nier le Expression conditionnelle :
def max3(a,b,c): return a if a > b and a > c else b if b > c else c
Bien sûr, cela devient rapidement inintelligible, alors ... s'il vous plaît, n'utilisez pas d'autre approche.
Je suis d'accord, la question est toutefois purement académique de commencer. Et cela démontre le fonctionnement de la syntaxe IF Boir c code>.
Si nous discutons académiquement, n'appelez pas cette syntaxe un "opérateur".
@Marcinorlowski même les documents officiels Python se réfèrent au Expression conditionnelle comme "opérateur ternaire".
Néanmoins, ce n'est pas un opérateur.
La deuxième instruction de retour dans la fonction n'aura aucun effet et la fonction reviendra tout ce qui est renvoyé par la première déclaration de retour.
Dans la première déclaration de retour, il doit y avoir un autre sinon ce sera une erreur de syntaxe.
Donc, il devrait être pour évaluer max dans 3 intens p>
def max3 (A, B, C): Si A> B et A> C: renvoyer un elif b> C SToir a> c: retour b p>
La ligne "Elif B> C et A> C: Retour B" doit être sur une autre ligne.
Dans ma réponse, toutes les lignes sont entrées dans une ligne.
Écrire une déclaration de retour après la déclaration conditionnelle. S'il vous plaît upvote ma réponse.
Vous manquez l'autre partie
Les fonctions ne peuvent avoir qu'un seul retour
Les fonctions @RDAS peuvent avoir de nombreuses instructions de retour sans blocs de code, mais seul le premier peut prendre effet
@Ananghg * Déclaration de retour inconditionnelle