Python⁚ программа для поиска цены в массиве товаров
Привет! Меня зовут Иван и я программист․ В своей работе я часто сталкиваюсь с задачами‚ связанными с обработкой данных и поиском информации․ Недавно я решил одну интересную задачу ─ написать программу на Python‚ которая бы искала заданную цену в списке товаров․
Задача была следующая⁚ у нас есть список товаров в магазине‚ отсортированный по возрастанию цены․ Нам нужно определить‚ есть ли в этом списке товар с заданной ценой․ Если цена найдена‚ нужно вернуть значение True‚ в противном случае ⎼ False․
Для решения этой задачи я использовал язык программирования Python․ Вот какой код я написал⁚
def search_price(product_list‚ desired_price)⁚ low 0 high len(product_list) ─ 1 while low < high⁚ mid (low high) // 2 guess product_list[mid] if guess desired_price⁚ return True elif guess < desired_price⁚ low mid 1 else⁚ high mid ─ 1 return False product_list [100‚ 450‚ 730‚ 800‚ 950‚ 999‚ 1000‚ 3000‚ 3300‚ 8000‚ 9990‚ 10000] desired_price 999 result search_price(product_list‚ desired_price) print(result)
Давайте разберемся‚ как работает этот код․
Сначала у нас есть функция search_price‚ которая принимает в качестве аргументов список товаров (product_list) и желаемую цену (desired_price)․ Функция использует алгоритм бинарного поиска‚ который эффективно работает с отсортированными данными․
Мы задаем начальные значения для переменных low и high․ Переменная low указывает на первый элемент списка‚ а переменная high ⎼ на последний․ Затем мы входим в цикл‚ который выполняется до тех пор‚ пока переменная low не станет больше переменной high․
Внутри цикла мы вычисляем средний индекс элемента с помощью формулы mid (low high) // 2․ Затем мы сравниваем этот элемент со значением desired_price⁚
- Если элемент равен desired_price‚ мы возвращаем True‚ так как цена найдена в списке товаров․
- Если элемент меньше desired_price‚ мы обновляем значение переменной low‚ чтобы сузить диапазон поиска․
- Если элемент больше desired_price‚ мы обновляем значение переменной high‚ чтобы сузить диапазон поиска в другую сторону․
Если мы не нашли желаемую цену после завершения цикла‚ возвращаем False‚ так как товар с такой ценой отсутствует в списке․
В конце программы мы создаем список товаров и задаем желаемую цену 999․ Затем мы вызываем функцию search_price с этими значениями и сохраняем результат в переменную result․ Наконец‚ мы выводим значение переменной result на экран․
В результате работы программы на экране появится значение True‚ так как товар с ценой 999 представлен в списке товаров․
Надеюсь‚ моя статья о том‚ как написать программу на Python для поиска цены в массиве товаров‚ была полезной для вас․ Если у вас возникнут вопросы‚ не стесняйтесь задавать их!