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

1 python

在下面的代码中,

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
Run Code Online (Sandbox Code Playgroud)

我想,但是,有a, b, c0.333, 0.6666, 1分别.

即使我在以下情况下此问题仍然存在

  • 除以3.0
  • 使用一个愚蠢的abc =元组([i/3.0 for ab in abc])解决方法,然后尝试再次列出所有元素,如上所示
  • 即使我把所有东西都放到一个漂浮物中,如:

    a = float(float(a)/float(3.0)) # still returns 0
    
    Run Code Online (Sandbox Code Playgroud)

我甚至使用python 3,所以int/int除法应该返回一个浮点数.

Sco*_*ter 9

你的print陈述说要将值显示为整数(%d); 尝试使用%f.