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

标签 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

不过,我正在尝试让 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 代替。

关于python - 来自元组的整数,除以产生整数而不是 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31708244/

相关文章:

python - 如何安装 node-waf?

Python grpc-tools 在我安装后立即被声明为丢失

python - SSIS 执行流程任务 Python 脚本

python - 自定义损失在 Keras 中的分散损失

Python笛卡尔积和条件?

python - 对于我的应用程序,最佳线程数是多少?

python - 用 Python 调整终端大小?

使用 gdb 为 C 模块调试 Python 源代码

python - Pandas:从另一个 df 创建一个新的 df 包含组内的特定值

python - pygame platformer - 我怎样才能使底部坚固?