J'ai un exercice simple. J'ai besoin de moins 2 tuples les uns des autres mais je ne veux pas que le résultat soit négatif, je veux arrêter de 0. De même, je veux ajouter 2 tuples mais je veux limiter la valeur supérieure de la valeur à 255. P>
Alors, quand je fais Y a-t-il des fonctions de commodité dans (1,1,1) - (5.200,30) code> Je devrais obtenir le résultat
(0,0,0) code>. Et si je fais
(200,10,150) + (90,20,50) code> Je devrais obtenir
(255,30 200) code>. P>
maths code> ou
numpy code> qui peut faire cela? P>
4 Réponses :
check clip code> dans
numpy code>
Peut également utiliser NP.Subrent ou ajouter tuple (NP.Clip (NP.Subrent ((1,1,1), (5.200, 30)), 0,255)) Code>
def add(t1,t2): """ input: t1,t2 are tuples. example t1(1,2,3) t2(7,8,9) result=(a=1+7,b=2+8,c=3+9) max of a, b, and c are 255 """ a=t1[0]+t2[0] b=t1[1]+t2[1] c=t1[2]+t2[2] if(a>255): a=255 if(b>255): b=255 if(c>255): c=255 result=(a,b,c) return result #CALLING x=(1,1,1) y=(5,200,30) z=(200,10,150) t=(90,20,50) print(add(z,t)) (255, 30, 200)
Pouvez-vous fournir une explication ou des commentaires pour aider les gens à comprendre votre code?
Vous pouvez faire quelque chose comme choisir max de (le résultat ou 0). De cette façon si le résultat est négatif, il retournera 0 à la place. Par exemple: pour la soustraction p> pour addition p>
Un moyen python python aux valeurs de clips serait la suivante: de même pour la limite inférieure: p> >>> x = (25, -20, 30)
>>> tuple(map(max, zip(x, (0,0,0))))
(25, 0, 30)