python - 没有()的评估顺序是什么?
问题描述
我不明白为什么这个函数返回 2.0。
1+1/2*2
对于运算顺序,我认为它会先乘法,然后是除法,从左到右,所以 1+1/4 到 1+.25 甚至可能返回 2/4 =0.5...
我真的很困惑它如何输出 2.0。
提前致谢!目前正在准备考试。
解决方案
至于乘除,顺序是从左到右。所以这里首先是划分。1 + 1 / 2 * 2 = 1 + 0.5 * 2 = 1 + 1 = 2
对于下一个问题,我认为if a == 'A' or 'B'
是 2 个表达式,a == 'A'
并且'B'
. 我学过一点 C++,'B' 指的是 ASCII 中的 66,不是 0,所以表达式 'B' 总是正确的。也许在python中它会是一样的。所以代码应该是if a == 'A' or a == 'B':
推荐阅读
- swift - NSStatusBar 失去状态
- html - 如何防止使用带有 Thymeleaf 的 Spring Security 破坏 CSS 格式?
- java - Java记忆参考
- apache-spark - 工作节点的控制台输出到 Spark 集群模式下的文件
- node.js - Google Actions 和 Dialogflow v2 - webhook
- java - 连接mysql后spring boot项目中的Jasper报告抛出net.sf.jasperreports.engine.JRException: java.net.MalformedURLException
- npm - NPM 和 Yarn 遇到 fsevents 问题
- c# - .Net 中缺少 Selenium 的 .js 文件导致测试失败
- sql - ASP.NET MVC 5 Database First 问题过滤索引结果
- c# - 突出显示从 DataTable 到绑定 DataGrid 的更改