Python 如何找到用户输入为整数,并使用相同的输入与现有的整数值进行比较

Python 如何找到用户输入为整数,并使用相同的输入与现有的整数值进行比较,python,Python,如何找到用户输入是整数,并使用相同的输入与python中现有的整数值进行比较 class Error(Exception): """This is base class for other exceptions""" pass class ValueTooSmallError(Error): """Exception due to Value is too small""" pass class ValueTooLargeError(Error): """Exce

如何找到用户输入是整数,并使用相同的输入与python中现有的整数值进行比较

class Error(Exception):
"""This is base class for other exceptions"""
    pass
class ValueTooSmallError(Error):
    """Exception due to Value is too small"""
    pass
class ValueTooLargeError(Error):
    """Exception due to Value is too large"""
    pass

number = 10

while True:
    try:
        i_num = int(input("enter number: "))
        if i_num < number:
            raise ValueTooSmallError
        elif i_num > number:
            raise ValueTooLargeError
        break
    except (ValueTooSmallError):
        print("\nValue is too Small, try again")
    except (ValueTooLargeError):
        print("\nValue is too Large, try again")
print("congratulations, guessed correctly, i.e.", i_num)
类错误(异常):
“”“这是其他异常的基类”“”
通过
类值TooSmallError(错误):
“”“由于值太小而导致的异常”“”
通过
类ValueTooLargeError(错误):
“”“由于值太大而导致的异常”“”
通过
数字=10
尽管如此:
尝试:
i_num=int(输入(“输入编号:”)
如果i_num<数字:
将值提升到最小错误
elif i_num>编号:
升值工具误差
打破
除了(ValueTooSmallError):
打印(“\n值太小,请重试”)
除了(ValueTooLargeError):
打印(“\n值太大,请重试”)
打印(“祝贺您,猜对了,即”,i_num)

如何验证i_num是否应在异常处理时解析整数值。

如果您问我们如何知道i_num是否为整数,我们不知道。由于python变量本质上是动态的,所以输入上传递的任何值都将存储为i_num变量。您必须显式地添加验证方法。因为您已经在一个try块中,并且正在使用typecast,所以在输入不是整数的情况下,您可以轻松地收集任何错误(对于typecast不匹配,它会抛出ValueError,所以您可以直接捕获该错误):

为True时:
尝试:
i_num=int(输入(“输入编号:”)
如果i_num<数字:
将值提升到最小错误
elif i_num>编号:
升值工具误差
打破
除ValueError为ve外:
打印(“传递的参数不正确”+str(ve))
除了(ValueTooSmallError):
打印(“\n值太小,请重试”)
除了(ValueTooLargeError):
打印(“\n值太大,请重试”)
打印(“祝贺您,猜对了,即”,i_num)

请正确设置代码格式。请添加代码中的错误。预期与实际行为?你有什么错误吗?你能告诉我,我如何才能做到这一点吗?请使用我在这里提到的代码,我在代码中添加了以下部分,该部分应该捕获这些错误“除了ValueError作为ve:print(“传递的参数不正确”+str(ve))”
while True:
    try:
        i_num = int(input("enter number: "))
        if i_num < number:
            raise ValueTooSmallError
        elif i_num > number:
            raise ValueTooLargeError
        break
    except ValueError as ve:
        print("Parameter passed is incorrect "+str(ve))
    except (ValueTooSmallError):
        print("\nValue is too Small, try again")
    except (ValueTooLargeError):
        print("\nValue is too Large, try again")
print("congratulations, guessed correctly, i.e.", i_num)