-1
votes

Python peut la ligne "retour x si y" est utilisé?

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


4 commentaires

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


3 Réponses :


1
votes

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


5 commentaires

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 .


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.



1
votes

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 xxx

pour évaluer max dans 3 intens xxx


0 commentaires

-1
votes

def max3 (A, B, C): Si A> B et A> C: renvoyer un elif b> C SToir a> c: retour b

Utilisez des colons à la fin d'une déclaration conditionnelle.

Utiliser un élément "Sinon:" n'est pas obligatoire.


3 commentaires

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.