I'm working on creating a color wheel in Python. I start by generating random rgb colors and convert them to hsl and adjust the s & l. Then, I want to compare two colors and do an operation based on how similar or different they are. The HSL color wheel goes from 0 to 360. I want to know if the hue of color 2 is within +-90 of the hue of color 1. For example, if color 1's hue is 300, I want to know if color 2's hue is between 210 and 30 (not 390). I am stuck trying to figure out how to tell Python this in an if statement.
# generate random rgb colors 
import random
no_of_colors= 23 
rgb_colors =["#"+''.join([random.choice('0123456789ABCDEF') for i in range(6)])
       for j in range(no_of_colors)]
# and then I convert them to hsl:
from  hsluv import hex_to_hsluv, hsluv_to_hex
hsl_colors = list()
for i in rgb_colors:
    col = hex_to_hsluv(i)
    hsl_colors.append(col)
# then I list them so they're mutable
hsl_colors = [list(elem) for elem in hsl_colors]
# then I change the s & l so that only hue is changing
# adjust s & l 
for i in hsl_colors:
    i[1] = 75
for i in hsl_colors:
    i[2] = 75
# I would do this above part again and make a hsl_colors2 
# list the same way so I have two lists of colors to compare. 
# This is where I am stuck. 
if hsl_colors2[0] > (hsl_colors[0]-90) or hsl_colors2[0] < (hsl_colors[0]+90):
                print(hsl_colors[j][0])
else:
                print("not within range")
# obviously this doesn't work, and needs to be informed of 
# the circular range. I've tried variations of this below 
# unsuccessfully. I've tried looking up examples and haven't 
# found anything useful. 
if hsl_colors2[0] > (hsl_colors[0]-90) or hsl_colors2[0] < (hsl_colors[0]+90):
                if hsl_colors[0]+90 > 360:
                     hsl_colors[0]+90 / 360
                     print(hsl_colors[0]+90 / 360)
else:
                print("not within range")
Any suggestions? TIA!
 
                        
I think you need the modulo operator
%