验证变量是否为int

时间:2019-05-27 15:42:03

标签: python python-2.7

我有一个脚本可以在cisco交换机中创建VLAN,并且我需要用户在脚本中输入一个数字。

在输入是否为数字(必须为int)并且数字是否在2〜4094范围内之前,我很难使脚本进行验证。

我已经写完了脚本的其余部分。

4 个答案:

答案 0 :(得分:3)

这应该有效:

def validate(num):
    try:
        n = int(num)
        return 2 <= n <= 4094
    except:
        return False

如果数字是指定范围内的整数,则上述函数返回True,否则返回False

答案 1 :(得分:0)

try:
    val = int(user_input)
    print("user input is an int")
except ValueError:
    print("user_input is not an int")

答案 2 :(得分:0)

您可以使用str.isdecimal()来检查字符串是否仅包含数字。

inp = input("Enter number: ")
if inp.isdecimal():
    n = int(inp)
else:
    print("Not a number")

如果您需要功能:

def validate(inp):
    return isinstance(inp, str) and inp.isdecimal()


inp = input("Enter number: ")
print(validate(inp))

答案 3 :(得分:0)

下面的函数返回True时,您可以使用数字进行数学运算。

def as_int_in_range(value,range):
    try:
        value = int(value)
        if value >= range[0] and value <= range[1]:
            return True,value 
        else:
            return False,None 
    except ValueError:
        return False,None

is_int,val = as_int_in_range('12',(10,100))
if is_int:
    # do something with 'val' assuming it is int in the range
else:
    # do something  else