如何确定错误的数据类型

时间:2016-09-28 09:53:08

标签: python

我使用以下内容来查看数据是否为整数,如果不是,它告诉我。有没有办法确定哪一个是不正确的,所以可以改变它,还是我必须为每个项目创建相同的循环?

while i_input == True:
    try:
        i_pointstarget=int(pointstarget.get())
        i_ap1=int(ap1.get())
        i_ap2=int(ap2.get())
        i_ap3=int(ap3.get())
        i_ap4=int(ap4.get())
        i_ap5=int(ap5.get())
        i_ap6=int(ap6.get())
    except ValueError:
        i_input=False
        continue
    else:
        break

感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

您可以使用numbers之类的

,而不是尝试转换为int(顺便说一句int(1.23)有效,返回1
import numbers
def is_integral(n): # actually not checking for int but also other int-equivalents
    return isinstance(n,numbers.Integral)

如果你想检查你是否有一个可以无法转换为整数的数字(如int),你可以做

import numbers
def exact_integral(n): # check if n can be exactly represented as an integer
    return isinstance(n,numbers.Complex) and n==round(n.real)

答案 1 :(得分:0)

要知道可以使用isinstance(variable_name, int)的变量的类型,这将返回布尔值。