检查sum是整数还是浮点数

时间:2016-02-01 19:16:27

标签: python-3.x

我知道有一些关于此的主题但我尝试使用isinstance我尝试了type()并且

if type(NumGiven) == int : print "This number is an int"
elif type(NumGiven) == float : print "This number is a float"

但他们都只给我输出空白行。

这是我的代码:

 NumGiven=''
while not NumGiven.isnumeric():
   NumGiven=(input('Please enter a 7 or 8 digit number:'))
while len(NumGiven)<7 or len(NumGiven)>8:
   NumGiven=(input('Please enter a 7 or 8 digit number:'))

if len(NumGiven)==8:
   my_list=[int(i) for i in NumGiven]
   print(sum([int(i) for i in NumGiven])/10.0)

所以你可以看到我需要它来告诉用户总和(在除以10时的结尾)是浮点数还是整数。

1 个答案:

答案 0 :(得分:2)

如果您想检查floatint还是x,您只需检查NumGiven = '' while not NumGiven.isnumeric(): NumGiven = (input('Please enter a 7 or 8 digit number:')) while len(NumGiven) < 7 or len(NumGiven) > 8: NumGiven = (input('Please enter a 7 or 8 digit number:')) if len(NumGiven) == 8: my_list = [int(i) for i in NumGiven] temp = sum([int(i) for i in NumGiven]) ans = temp / 10.0 if temp % 10 == 0: print("int") else: print("float") 是否为10的倍数。
以下是演示事实的代码:

{{1}}

现场演示 - int / float

有关更一般的解决方案,您可能会对this standard library function感兴趣。