6
votes

Comment utiliser Python

Je me sens très confus à propos du code comme celui-ci [non écrit par moi]: xxx

version doit être un nombre. Lorsque [func1 (), func2 ()] est [1, aucun] doit renvoyer 1, quand [aucun, 2] , devrait renvoyer 2, lorsque [1, 2] doit renvoyer 1.

donc je pense qu'il est faux d'utiliser tout () dans ce code, parce que tout () vient de retourner true ou false . Si je rewirte cette logique en utilisant un autre moyen, je ne peux pas trouver de manière gracieuse comme un pythoneur.

Je veux savoir si tout () peut atteindre la logique, sinon, Comment y parvenir gracieusement?


2 commentaires

Demandez-vous de savoir quel scénario utiliser tout () ou comment simplifier ce morceau de code?


@Nayukiminase je veux savoir si tout () peut atteindre la logique, sinon, comment le réaliser gracieusement?


3 Réponses :


12
votes

Vous pouvez simplement utiliser ou code> ici.

version = func1() or func2()


0 commentaires

5
votes

@ Anandskumar La réponse est optimale. Mais juste pour vous donner des informations sur tout si vous êtes intéressé:

Prenez cet exemple: p> xxx pré>


xxx pré>

finalement ce qui est Il se passe à l'intérieur de l'autre, c'est itérale sur la gamme de méthodes J et indiquez si chaque élément est inférieur à 3, ce que le "tout" fera dans ce cas est de renvoyer "toute" condition qui correspond à cela. Donc, même si vous en trouvez un qui est faux, cela retournera toujours vrai. P>

Il existe une autre méthode similaire à celle-ci appelée "All", qui garantira que toutes les conditions sont remplies en fonction de votre condition que vous vérifiez. Voici l'exemple: P>

>>> all(i() < 3 for i in f)
False


0 commentaires

4
votes

pour le boîtier de longueur arbitraire (où enchaînant explicitement ou code> n'a pas de sens), vous pouvez créer une version de tout code> qui renvoie la première valeur de véracité ou une donnée. Valeur lorsque tous les résultats sont FALSY avec:

result = next(filter(None, sequence_to_check), sequence_to_check[-1])


0 commentaires