Python 我的函数没有将十进制数拆分为两部分,而是打印错误

Python 我的函数没有将十进制数拆分为两部分,而是打印错误,python,tkinter,Python,Tkinter,这是我对思想者的回答。当我输入一个整数(12)时,我会看到“整数(12)est un entier”。 但当我输入一个十进制数(12.7)时,它会打印:ERROR,而不是将数字分成两部分。我的屏幕上应该有:“12 est decimal”7 est entier”。你知道我哪里做错了吗 在采取行动之前,您应该检查值的类型12是一个int和12.7是一个float 因此,利用这些信息,我们可以做到以下几点: def Answer(): A = var1.get() if "."

这是我对思想者的回答。当我输入一个
整数(12)
时,我会看到“
整数(12)est un entier
”。
但当我输入一个十进制数(
12.7
)时,它会打印:
ERROR
,而不是将数字分成两部分。我的屏幕上应该有:“
12 est decimal
7 est entier
”。你知道我哪里做错了吗

在采取行动之前,您应该检查值的类型
12
是一个
int
12.7
是一个
float

因此,利用这些信息,我们可以做到以下几点:

def Answer():
     A = var1.get()
     if "." not in A and A.isdigit():
         Right1.insert(END,str(A)+"est un entier")

     elif "." in A  and A.isdigit():

          B,C = A.split(".")
          Right1.insert(END,str(B)+"est decimal" + str(C)+"est entier")
    else :
         Right1.insert(END,"ERROR")

不是一个数字……我试图将十进制数分成两部分。所以我必须检查这个数字是否有意义,如果有,我就设计这个数字。我不是在检查。是数字。您正在检查
是否是代码中的数字,但不应该是。请查看我的答案,以获得更具Python风格的解决方案。谢谢!我现在明白多了。也许可以用PEP8来缩进。@Mike SMT是的,我的Python今天开始以不同的方式缩进。我一定按了什么,需要更改它。@edmundo如果这回答了您的问题,请您将其标记为已接受,以便其他用户可以从中学习。@Mike SMT修复了此问题
a = [12, 12.7]

for i in a:
    if type(i) == int:
        print(str(i)+" est un entier.")
    elif type(i) == float:
        print(str(i).split(".")[0]+" est decimal "+str(i).split(".")[1]+" est entier.")