这笔款项一直给我错误的答案。 我们被告知给出变量值和锻炼总和,其中一个是A×B÷(C×D) 正确答案是0.0625,它一直是16。 我只是想知道为什么会发生这种情况以及我做错了什么。
这是我在python中写的,也许有人可以告诉我我错过了什么。
print(int(A*B/C*D))
A = 2
B = 4
C = 8
D = 16
我也对这一个A ^((B + C)×D)感到困惑 这是我在python中编写它的方式 (A **(B + C)* d))
提前致谢:)
答案 0 :(得分:0)
因为*和/具有相同的优先级。您的公式被解释为(((A * B)/ C)* D)
此外,您应该将操作数转换为浮点数,否则结果只会得到0。
答案 1 :(得分:0)
首先,你的括号是错误的,但已经被清除了。
其次,我假设您使用的是Python 2.x,其中整数除法返回整数:1/2 == 0.要解决此问题,请使数字浮点数:A = 2.0; B = 4.0; ...
或者使用Python 3.x。
答案 2 :(得分:0)
正如上面有些人所说的,你的公式是错误的,应该是(A B)/(C D)或A B /(C D)noh int ()
由于你有int()来转换最终结果,所以你永远不会有浮点数,如果操作的结果是从0到1(不包括),则int(结果)总是为0。
在python2.x中,至少有一个操作数应该是float来输出float结果。 在python3.x中,如果需要,python解释器会自动将结果转换为float。