使用python shell过滤范围之外的数据

切丽公园

我正在尝试编写一个程序,让用户输入数字列表并告诉他们最大和最小数字。程序应该让用户选择允许的最小值和最大值,并且不应该让用户向列表输入超出这些范围的内容。我已经设法完成了第一步,但我不知道如何过滤范围之外的数据。帮助将不胜感激。

print ("Input done when finished")
print ("Input thresholds")

maximumnum = int(input("Input maximum number: "))
minimumnum = int(input("Input minimum number: "))


minimum = None
maximum = None

while True:
    inp =input("Enter a number: ")
    if inp == "done": 
    break

    try:
        num = float(inp)
    except:
        print ("Invalid input")
        continue                            

    if minimum is None or num < minimum:
        minimum = num

    if maximum is None or num > maximum:
        maximum = num

print ("Maximum:", maximum)
print ("Minimum:", minimum)
匿名的

您需要在 try/except 块下方添加此附加检查:

# To check your number is not greater than maximum allowed value
if num > maximumnum:
    print('Number greater the maximum allowed range')
    break

# To check your number is not smaller than maximum allowed value
if num < minimumnum:
    print('Number smaller the maximum allowed range')
    break

因此,您的完整代码将变为:

print ("Input done when finished")
print ("Input thresholds")

maximumnum = int(input("Input maximum number: "))
minimumnum = int(input("Input minimum number: "))


minimum = None
maximum = None

while True:
    inp =input("Enter a number: ")
    if inp == "done": 
        break

    try:
        num = float(inp)
    except:
        print ("Invalid input")
        continue  

    ## ---- Additional Check ---- ##
    if num > maximumnum:
        print('Number greater the maximum allowed range')
        break

    if num < minimumnum:
        print('Number smaller the maximum allowed range')
        break        
    ## -------------------------- ##                  

    if minimum is None or num < minimum:
        minimum = num

    if maximum is None or num > maximum:
        maximum = num

print ("Maximum:", maximum)
print ("Minimum:", minimum)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章