我编写了一个程序,要求用户输入1到10之间的数字。我要求使用range
功能一次给数字一个。如果给定数字与该数字之间的差大于1,则我需要它停止询问数字。我该如何处理?
for number in range(1, number + 1):
result = input("Enter the measurement result {}: ".format(number))
result = float(result)
您可以执行以下操作:
代码:
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)
用法:
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]