Reputation: 57
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
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