python - 下面给出的运算符的顺序是什么?
问题描述
a=10
print("Value is:",a//5*10%a^2+100-a)
我按原样放置此代码并将值设为92
.
但是,如果我通过直接将 a=10 放入等式来解决这个问题,我得到 110。
解决方案
a=10
print("Value is:",a//5*10%a^2+100-a)
分解表达式:
a//5*10%a^2 + 100-a
100-a=90
//
并且*
具有相同的优先级,所以从左到右。
(a//5)=2
*
并且%
具有相同的优先级,所以从左到右。
2*10=20
你最终会得到20%10^2
20%10=0
0^2=2
因此,表达式变为90+2=92
推荐阅读
- python - 我将如何隐藏使用 CURVE3 或 CURVE4 构建的 matplotlib 路径上的控制点
- c# - DateTime 和 TimeZoneInfo 类如何处理夏令时?
- c# - nuget 包 .pp 不转换为 .cs 文件
- python - TypeError: __init__() 缺少 1 个必需的位置参数:'post_location' 一直指我远离 __init__
- flutter - Flutter Container 变换(动画包)
- java - 单击按钮而不是自己启动计时器(javax.swing)
- php - 调试文件访问错误
- elasticsearch - 如何按 id 中的文档对 Elasticsearch 进行排序?
- python - 如何在python中为aiohttp设置代理?
- laravel - Laravel 分页显示奇怪的箭头