Simple math in python won't work?
本问题已经有最佳答案,请猛点这里访问。
我刚开始学习Python,我写了这三行代码:
1 2 3 | points = 49 total = points / 50 * 500 + 40 print"omg wtf", total |
我预计产量会达到530,但是不管我做什么,我都会得到40。我尝试将total初始化为0,将赋值转换为int,然后插入一堆括号,但没有任何效果。我很困惑…有人能帮我/告诉我到底发生了什么事吗?
"我刚开始学Python……"太棒了。我在1.5年前就这么做了。这是一种有趣的语言和一个良好的社区。
我的强烈建议是你只需换到
在这种情况下,你可能会看到
1 | print("omg wtf", total) |
在python 2中,对两个整数使用除法运算符
我的建议是在您编写的每段代码的顶部始终使用
您还可以通过使用浮动来修复它,例如使用
当输入为整数时,python 2.7和更早版本使用整数数学。因此,
1 | points = 49. # <-- adding a dot |
或
1 | points = float(49) # wrapping in float() |
现在你得到:
1 2 3 | >>> total = points / 50 * 500 + 40 >>> print"omg wtf", total 530.0 |