Skip to content Skip to sidebar Skip to footer

Check If A Value Still Remains The Same In A While Loop Python

I want know if there is a elegant method for looking if a value that continually changes in a while loop can be checked and stop the while loop if the value stops change and remain

Solution 1:

How about this way? BTW: Fix your typo error while is not While in python.

value = 0while True:
    old_value, value = value, way_to_new_value
    ifvalue== old_value: break

Solution 2:

previous =Nonecurrent= object()
while previous !=current:
    previous =currentcurrent= ...

Solution 3:

You can:

value_old = 0
value_new = 1
value = [value_old, value_new]
while True:
    # change# test
    if value[0] == value[1]:
        break
    else:
        value = [value[1], value[0]]

Solution 4:

A more portable solution would be to make this a class so that an instance holds on to the previous value. I also had a need for a fuzzy match so I included that in the below example.

classSamenessObserver:
    """An object for watching a series of values to see if they stay the same.
    If a fuzy match is required maxDeviation may be set to some tolerance.

    >>> myobserver = SamenessObserver(10)
    >>> myobserver.check(9)
    False
    >>> myobserver.check(9)
    True
    >>> myobserver.check(9)
    True
    >>> myobserver.check(10)
    False
    >>> myobserver.check(10)
    True
    >>> myobserver.check(11)
    False
    >>> myobserver = SamenessObserver(10, 1)
    >>> myobserver.check(11)
    True
    >>> myobserver.check(11)
    True
    >>> myobserver.check(10)
    True
    >>> myobserver.check(12)
    False
    >>> myobserver.check(11)
    True
    >>> 

    """def__init__(self, initialValue, maxDeviation=0):
        self.current = 0
        self.previous = initialValue
        self.maxDeviation = maxDeviation

    defcheck(self, value):
        self.current = value
        sameness = (self.previous - self.maxDeviation) <= self.current <= (self.previous + self.maxDeviation)
        self.previous = self.current
        return sameness

Post a Comment for "Check If A Value Still Remains The Same In A While Loop Python"