Boberto
Boberto

Reputation: 57

How do I stop the range command when the difference between numbers is greater than 1?

I've written a program that asks a user to give numbers between 1-10. Using the range function, I ask the user to give the numbers one at a time. I need it to stop asking for numbers if the difference between the given number and the one after that is greater than 1. How should I go about it?

for number in range(1, number + 1):
    result = input("Enter the measurement result {}: ".format(number))
    result = float(result)

Upvotes: 2

Views: 35

Answers (1)

CDJB
CDJB

Reputation: 14516

You could do something like the following:

Code:

measurements = []
number = 5

for n in range(number):
    m = 0
    while not 1 < m < 10:
        m = float(input("Enter the measurement result {} (1-10): ".format(n+1)))
    measurements.append(m)
    if len(measurements) > 1 and abs(measurements[-1]-measurements[-2]) > 1:
        break

print(measurements)

Usage:

Enter the measurement result 1 (1-10): 5

Enter the measurement result 2 (1-10): 6

Enter the measurement result 3 (1-10): 20  # Input greater than 10 so ask again

Enter the measurement result 3 (1-10): 7

Enter the measurement result 4 (1-10): 9   # Difference between 7 and 9 greater than 1, so stop.
[5.0, 6.0, 7.0, 9.0]

Upvotes: 1

Related Questions