Skip to main content

Functions for finding numbers using higher/lower

Project description

higher-lower

PyPI Changelog License

Functions for finding numbers using higher/lower

Installation

Install this library using pip:

$ pip install higher-lower

higher_lower(min_value, max_value, callback)

The higher_lower() function searches for a value between min_value and max_value, calling callback() for each candidate value to see if the target is higher or lower.

  • min_value - the lowest possible value
  • max_value - the highest possible value
  • callback(candidate) - a callback function that takes a single integer argument and returns ActualIs.MATCH, ActualIs.HIGHER or ActualIs.LOWER

For example:

from higher_lower import ActualIs

def callback(candidate):
    if candidate == 7:
        return ActualIs.MATCH
    elif candidate > 7:
        return ActualIs.LOWER
    else:
        return ActualIs.HIGHER

Given the above callback function, a search can be made for the number between 0 and 100 like so:

from higher_lower import higher_lower

number = higher_lower(0, 100, callback)
# number is now 7

Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

cd higher-lower
python -mvenv venv
source venv/bin/activate

Or if you are using pipenv:

pipenv shell

Now install the dependencies and tests:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

higher-lower-0.1.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

higher_lower-0.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file higher-lower-0.1.tar.gz.

File metadata

  • Download URL: higher-lower-0.1.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for higher-lower-0.1.tar.gz
Algorithm Hash digest
SHA256 796d7148d0123f6001bbb761bc64eedc02cfcc72b68e38215fa9c15ff6355bb1
MD5 1e5612a9dafd28c0e0fe35e4d3d76917
BLAKE2b-256 e695748ff07e48d2c1c21610b27a21cb77bd51a3682eea4d8fd1cc208490d278

See more details on using hashes here.

File details

Details for the file higher_lower-0.1-py3-none-any.whl.

File metadata

  • Download URL: higher_lower-0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for higher_lower-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b140cf347e0a414d8c90762923ea246beef1b9130c91dacf7b4144b02a91652b
MD5 100d7f71ffa66bacc86ae7cbed7738ee
BLAKE2b-256 c64cbe7831ea3d5f4afd234b837a7324983096d3543e5cd5ee287296ca169f59

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page