我在jsfiddle.net上玩,我很好奇为什么这会返回true?
if(0 < 5 < 3) {
alert("True");
}
Run Code Online (Sandbox Code Playgroud)
这样做:
if(0 < 5 < 2) {
alert("True");
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
if(0 < 5 < 1) {
alert("True");
}
Run Code Online (Sandbox Code Playgroud)
这个怪癖是否有用?
当我看到这个问题的答案时,我发现我不明白自己的答案.
我真的不明白这是如何被解析的.为什么第二个示例返回False?
>>> 1 in [1,0] # This is expected
True
>>> 1 in [1,0] == True # This is strange
False
>>> (1 in [1,0]) == True # This is what I wanted it to be
True
>>> 1 in ([1,0] == True) # But it's not just a precedence issue!
# It did not raise an exception on the second example.
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
1 in ([1,0] == …Run Code Online (Sandbox Code Playgroud) 在Python 2.6中查看Queue.py,我发现这个构造我发现有点奇怪:
def full(self):
"""Return True if the queue is full, False otherwise
(not reliable!)."""
self.mutex.acquire()
n = 0 < self.maxsize == self._qsize()
self.mutex.release()
return n
Run Code Online (Sandbox Code Playgroud)
如果maxsize为0,则队列永远不会满.
我的问题是它如何适用于这种情况?如何0 < 0 == 0被认为是假的?
>>> 0 < 0 == 0
False
>>> (0) < (0 == 0)
True
>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True
Run Code Online (Sandbox Code Playgroud) 一个问题被张贴有关链比较运营商以及它们如何在不同的语言解释.
链接比较运算符意味着(x < y < z)将被解释为((x < y) && (y < z))而不是((x < y) < z).
对该问题的评论表明,Python,Perl 6和Mathematica支持链接比较运算符,但是其他语言支持这个功能,为什么它不常见?
快速浏览一下Python文档就可以看出这个功能至少从1996年开始.有没有更多语言没有添加这种语法的原因?
静态类型语言会出现类型转换问题,但还有其他原因这种情况不常见吗?
我遇到了上面的表达,我认为应该评估为True,但事实并非如此.
>> s = 1 in range(2)
>> s == True
>> True
Run Code Online (Sandbox Code Playgroud)
上述声明按预期工作但在以下时间:
1 in range(2) == True
Run Code Online (Sandbox Code Playgroud)
执行时,它的计算结果为False.
尝试寻找答案,但无法得到具体的答案.任何人都可以帮助我理解这种行为吗?
我有一个if声明,然后是几个else if声明.所有if/else if语句的参数结构都是这样的:
if (100 <= x <= 149) //do this
else if (150 <= x <= 199) //do that
else if ...etc...
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,只有第一个if语句被执行.X可以是200,只识别第一个if语句.
当X不符合前面语句的参数时,我不确定为什么它不会转移到下一个if语句.这在Obj-C中不起作用吗?任何帮助表示赞赏.谢谢
我试图将一段伪代码转换为C代码,我有条件
if (-4 <= X <=8)
THEN {Do Something}
else
{Do something else}
Run Code Online (Sandbox Code Playgroud)
if语句中的语法是否有效?可以在逻辑条件中将常量放在变量之前以检查真值吗?
python ×3
syntax ×3
c ×2
if-statement ×2
operators ×2
algorithm ×1
compare ×1
conditional ×1
javascript ×1
objective-c ×1