Найти - Пользователи
Полная версия: Проверить вхождения чисел из списка в заданный интервал.
Начало » Python для новичков » Проверить вхождения чисел из списка в заданный интервал.
1
DerHer
Привет всем!
Не могу написать красиво следующие, т.к. плохо знаю язык :
Есть list(r,g,b), все значения лежат в пределах 0-255
Есть допустимые отклонения, тоже в виде списка list(r_variation, g_variation, b_variation).
В функцию приходит list(x,y,z), значения которого так же лежат в пределах 0-255.
Нужно вернуть True, если выполняется условие:
r - r_variation <= x <= r + r_variation, для всех трех элементов списка, иначе вернуть False
color = (255,255,255)
variation = (255,255,255)
raw_color = (0,0,0)
def test(color, variation, raw_color):
    fixme = color[0] - variation[0] <= raw_color[0] <= color[0] + variation[0], color[1] - variation[1] <= raw_color[1] <= color[1] + variation[1], color[2] - variation[2] <= color[2] <= raw_color[2] + variation[2]
    for x in fixme:
        if x == False:
            return False
    return True
print(test())
Вверху текущая реализация
s0rg
def test(color, variation, raw_color):
    return all(map(lambda a, b, c: (a - b <= c) and (c <= a + b), color, variation, raw_color))
DerHer
Shaman
lambda a, b, c: a - b <= c <= a + b
Так тоже можно.
Если всё будет работать медленно, можно посмотреть в сторону numpy.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB