Skip to main content
 首页 » 编程设计

python之来自元组的整数,除以产生整数而不是 float

2025年05月04日12yjmyzz

在下面的代码中,

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 分别为 0.333、0.6666、1。

这个问题仍然存在,即使我:

  • 除以 3.0
  • 使用愚蠢的 abc = tuple([i/3.0 for i in abc]) 解决方法,然后尝试再次列出所有元素,如上所示
  • 即使我将所有内容都转换成 float ,如:

    a = float(float(a)/float(3.0)) # still returns 0 
    

我什至在使用 python 3,所以无论如何 int/int 除法都应该返回一个 float 。

请您参考如下方法:

您的 print 语句要求将值显示为整数 (%d);尝试使用 %f 代替。