Как использовать python для проверки, может ли число попасть в серию чисел X раз?

Как мне использовать python для выполнения следующих действий? Для фиксированного периода данных временных рядов, если возможно, что какая-либо горизонтальная линия (фиксированная цена) пересекает фиолетовую линию (серию цен) 4 раза, верните True, как показано на следующем рисунке.

Как использовать python для проверки, может ли число попасть в серию чисел X раз?

Если невозможно, чтобы какая-либо горизонтальная линия (фиксированная цена) пересекала фиолетовую линию (ряд цен) 4 раза, верните False, как показано на следующем рисунке. Спасибо.

Как использовать python для проверки, может ли число попасть в серию чисел X раз?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы можете описать фиолетовую линию математически, вам нужно найти y = f(x), где для данного y у вас есть четыре или более удовлетворяющих х.

Теперь давайте сделаем это с помощью грубой силы:

max_y = 10.0 # the biggest y the purple line has
min_y = 5.0 # the smallest y purple line has
min_x = 0 # the x the purple line starts
max_x = 100 # the x the purple line ends
delta = 0.01 # the step value for testing every line

def in_purple(x, y):
    # returns if the point (x, y) is in the purple line
    pass

for y in range(min_y, max_y + delta, delta):
    counter = 0
    for x in range(min_x, max_x + delta, delta):
        if in_purple(x, y):
            counter += 1
    if counter >= 4:
        print(y) # prints the y where you have 4 or more coincidences
        break

Другие вопросы по теме