0
votes

Un moyen simple d'arrêter un nombre en cours négatifs

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.

Alors, quand je fais (1,1,1) - (5.200,30) Je devrais obtenir le résultat (0,0,0) . Et si je fais (200,10,150) + (90,20,50) Je devrais obtenir (255,30 200) .

Y a-t-il des fonctions de commodité dans maths ou numpy qui peut faire cela?


0 commentaires

4 Réponses :


2
votes

check clip dans numpy xxx


1 commentaires

Peut également utiliser NP.Subrent ou ajouter tuple (NP.Clip (NP.Subrent ((1,1,1), (5.200, 30)), 0,255))



0
votes
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)

1 commentaires

Pouvez-vous fournir une explication ou des commentaires pour aider les gens à comprendre votre code?



2
votes

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: xxx

pour la soustraction xxx

pour addition xxx


0 commentaires

0
votes

Un moyen python python aux valeurs de clips serait la suivante: xxx pré>

de même pour la limite inférieure: p>

>>> x = (25, -20, 30) 
>>> tuple(map(max, zip(x, (0,0,0))))
(25, 0, 30)


0 commentaires