Comparing a Variable to a Range of Values

Comparing a variable to a range of numbers in BASH

In simple terms, you can just test the variable passed while running the script:

#!/bin/bash

if (( 0 <= $1 && $1 <= 5 )); then
echo "In range"
else
echo "Not in range"
fi

Pass the number to the script and it will test it against your range. For example, if the above it put in a script called check.sh then:

$ bash check.sh 10
Not in range
$ bash check.sh 3
In range

You can make the script executable to avoid using bash ... whenever you need to run the script. The $1 used above the is the first parameter passed to the script. If you don't like to use positional variables, then you can save it a variable inside the script if you wish.

Comparing a variable to a range of values

You can do:

if (18 < age && age < 30) /*blah*/;

Comparing number ranges in Python

There is no built-in range comparison in Python. You haven't described how you want this to work. However, for starters, your Boolean expression is trivially False:

if 25>= age >=32:
print("This person is between the ages of 25 and 32...")

Can you give me an example of a number that is both less than 25 and greater than 32? Try the straightforward:

if 25 <= age <= 32:

Or simply

if age in range(25, 32+1):

Remember that a range does not include its second endpoint.

Comparing the values within a specified range

if value1 + (value1 * 0.1) >= value2 or value1 - (value1 * 0.1) <= value2:
print("Values are within 10 percent margin")

In other words,

if value1 + 10% of value1 is greater than or equal to value2

or

if value1 - 10% of value1 is lesser than or equal to value2

Then the values are within 10% of each other.

Fastest way to compare a number to a list of numbers in a range?

So if ranges are unique and don't intersect with each other.
The fastest way to check I see to be next algo:

  1. make a list of pairs [start, end] or just use two separated lists for start points and end points.
  2. sort them(it could be done really easy on SQL side)
  3. using binary search find out first start value that is larger than your reference number
  4. previous item give your just single range you should check against your reference number.

If sorting is done on DB side, then this algo will be O(logN) that is fast enough.



Related Topics



Leave a reply



Submit