当数字之间的差大于1时如何停止范围命令?

问题描述 投票:2回答:1

我编写了一个程序,要求用户输入1到10之间的数字。我要求使用range功能一次给数字一个。如果给定数字与该数字之间的差大于1,则我需要它停止询问数字。我该如何处理?

for number in range(1, number + 1):
    result = input("Enter the measurement result {}: ".format(number))
    result = float(result)
python
1个回答
1
投票

您可以执行以下操作:

代码:

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]
© www.soinside.com 2019 - 2024. All rights reserved.