来自元组的整数,除以产生整数而不是浮点数?

时间:2015-07-29 18:19:52

标签: python

在下面的代码中,

.pdb

然而,我正在尝试abc = (1,2,3) a = abc[0] b = abc[1] c = abc[2] print('%d, %d, %d' %(a,b,c)) # gives 1,2,3 as expected a /= 3 b /= 3 c /= 3 print('%d, %d, %d' %(a,b,c)) # gives 0,0,1... which is NOT expected 分别为a, b, c

即使我:

,这个问题仍然存在
  • 除以3.0
  • 使用愚蠢的abc = tuple([i / 3.0 for i in abc])解决方法,然后尝试再次列出所有元素
  • 即使我将所有内容都投射到像:

    这样的浮点数中
    0.333, 0.6666, 1

我甚至使用python 3,因此int / int除法应该返回一个浮点数。

3 个答案:

答案 0 :(得分:9)

您的print语句表示将值显示为整数(%d);请尝试使用%f

答案 1 :(得分:1)

您正在使用%d所以输出打印为整数/小数只需使用print:

print(a,b,c)

答案 2 :(得分:0)

在打印声明中使用%f

print('%f, %f, %f', %(a,b,c))