Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 30, 2023 15:31:11

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Числовая градация

Идет поток данных

134 121 149 532 250
Как отслеживать числа типа
100 150 200 300
тоесть большие целые числа?
Тут еще момент что может быть 148 а потом 152 а нужно понять что 150 прошло по шкале но такого числа не было

Офлайн

#2 Янв. 30, 2023 20:17:16

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Числовая градация

чет wave напомнило ну или это https://ru.wikipedia.org/wiki/WAV так абстракно ежеле … а по смыслу топика вобще нечего не понятно шо надо шо куда … зачем?



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#3 Янв. 30, 2023 20:51:47

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Числовая градация

по типу асцелятора
переменная одна
она все время динамически обновляется
нужно подать сигнал когда проходит цело чесло или достигает его значение

Офлайн

#4 Янв. 31, 2023 00:47:05

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Числовая градация

  
def threshold(*levels):
    max_value = 0
    def hold(a, b):
        def process(x):
            return x in range(a, b) and max_value < a and a
 
        return process
 
    def process(var):
        nonlocal max_value
        check_lst = (hold(levels[i], levels[i+1]) for i in range(len(levels)) if i+1 < len(levels))
        for check in check_lst:
            out = check(var)
            if out:
                max_value = out
                return out
    return process
 
f = threshold(50, 100, 150, 200, 250, 300)
 
test_lst = [45, 56, 88, 104, 152, 133, 77, 201, 196, 250, 258]
for i in test_lst:
    signal = f(i)
    if signal:
        print(f'i={i}, signal - {signal}')

 
i=56, signal - 50
i=104, signal - 100
i=152, signal - 150
i=201, signal - 200
i=250, signal - 250

Process finished with exit code 0

Офлайн

#5 Янв. 31, 2023 01:49:21

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Числовая градация

Ого, большое спасибо
теперь остается сделать тоже самое в обратном направлении и вывести обратное число на понижение

Офлайн

#6 Янв. 31, 2023 20:21:00

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Числовая градация

 def threshold(*levels):
    max_value = 0
    def hold(a, b):
        def process(x):
            out =  all([x in range(a, b), max_value < a]) and a\
                   or all([x in range(a, b), max_value > a]) and b
            return out
        return process
 
    def process(var):
        nonlocal max_value
        check_lst = (hold(levels[i], levels[i+1]) for i in range(len(levels)) if i+1 < len(levels))
        for check in check_lst:
            out = check(var)
            if out:
                max_value = out
                return out
    return process
 
f = threshold(50, 100, 150, 200, 250, 300)
 
test_lst = [45, 56, 88, 104, 152, 133, 77, 201, 196, 250, 258]
for i in test_lst:
    signal = f(i)
    if signal:
        print(f'i={i}, signal - {signal}')

i=56, signal - 50
i=104, signal - 100
i=152, signal - 150
i=133, signal - 150
i=77, signal - 100
i=201, signal - 200
i=196, signal - 200
i=250, signal - 250

Process finished with exit code 0

Офлайн

#7 Янв. 31, 2023 20:29:07

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Числовая градация

если чесно мой уровень на питоне сейчас не очень дает понять что тут написано, я когда буду писать непосредственно я еще поспрашиваю. я только определяюсь с набросками кусочков кода коотрые мне немножко пожже понадобятся, тоесть на сейчас этого достаточно
спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version