2024-10-01 02:18:57 发布
网友
我正在用python做一些非常基本的练习。我使用的是《艰难的方法学习python》一书,在Exersize3中有一个我应该理解的表达式。在
3+2+1-5+4%2-1/4+6,将作为7出来。在
对我来说,答案是6。在
6-5+0-1/4+6
1-1/4+6
6。在
这显然是错误的,但是有谁能在数学等方面帮助我吗?如果不是括号里的话,我好像什么都忘了!在
编辑:非常感谢您的回复。我清楚地了解了一些非常基本的东西,我认为这是重要的,然后再继续!我的行动命令绝对是太离谱了!在
请参见Python中的运算符优先顺序表。在
http://docs.python.org/reference/expressions.html#summary
4%2=0,因为4/2的余数是0
1/4也是0,因为它正在进行整数除法,而.25是0的底数。在
如果我们看一下rules for Operator precedence in Python,我们可以看到:
3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
被视为:
(对于算术运算符,这与数学中的standard order of operations的顺序相同。)
现在4 % 2是{},因为4除以2的余数是0。1 / 4也是{},因为Python将返回一个与操作数类型相同的值,当“floored”为0时返回0.25。在
4 % 2
1 / 4
所以我认为你的错误是把/应用到左边的整个表达式。事实上,由于/比-具有更高的优先级,计算的除法是1 / 4。在
/
-
请参见Python中的运算符优先顺序表。在
http://docs.python.org/reference/expressions.html#summary
4%2=0,因为4/2的余数是0
1/4也是0,因为它正在进行整数除法,而.25是0的底数。在
如果我们看一下rules for Operator precedence in Python,我们可以看到:
被视为:
^{pr2}$(对于算术运算符,这与数学中的standard order of operations的顺序相同。)
现在},因为4除以2的余数是0。},因为Python将返回一个与操作数类型相同的值,当“floored”为0时返回0.25。在
4 % 2
是{1 / 4
也是{所以我认为你的错误是把
/
应用到左边的整个表达式。事实上,由于/
比-
具有更高的优先级,计算的除法是1 / 4
。在相关问题 更多 >
编程相关推荐