Форум сайта python.su
1
Идет поток данных
134 121 149 532 250Как отслеживать числа типа
100 150 200 300тоесть большие целые числа?
Офлайн
44
чет wave напомнило ну или это https://ru.wikipedia.org/wiki/WAV так абстракно ежеле … а по смыслу топика вобще нечего не понятно шо надо шо куда … зачем?
и вставьте ссылку на его url Офлайн
1
по типу асцелятора
переменная одна
она все время динамически обновляется
нужно подать сигнал когда проходит цело чесло или достигает его значение
Офлайн
124
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
Офлайн
1
Ого, большое спасибо
теперь остается сделать тоже самое в обратном направлении и вывести обратное число на понижение
Офлайн
124
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
Офлайн
1
если чесно мой уровень на питоне сейчас не очень дает понять что тут написано, я когда буду писать непосредственно я еще поспрашиваю. я только определяюсь с набросками кусочков кода коотрые мне немножко пожже понадобятся, тоесть на сейчас этого достаточно
спасибо
Офлайн