Python 为什么该逻辑函数在选项A中打印7而不在选项B中?
为什么选项a)打印x,而选项b)不打印?顺便说一下,这两个操作都应该得到b)的结果 (a)Python 为什么该逻辑函数在选项A中打印7而不在选项B中?,python,Python,为什么选项a)打印x,而选项b)不打印?顺便说一下,这两个操作都应该得到b)的结果 (a) x=7 如果x>3和x3: 如果x符号(&)字符是位运算符。从: x&y 执行“按位和”。如果x和y的对应位为1,则输出的每一位为1,否则为0 如果使用第一个表达式计算表达式x>3&x,则使用的是and的位运算符,而不是和,在7的情况下不能正确打印x。此情况: if x >3 & x<=6 在这种情况下,为了满足您的需要,您可以更简洁地执行以下操作: if 3 < x <
x=7
如果x>3和x3:
如果x符号(&
)字符是位运算符。从:
x&y
执行“按位和”。如果x和y的对应位为1,则输出的每一位为1,否则为0
如果使用第一个表达式计算表达式x>3&x,则使用的是and的位运算符,而不是和
,在7的情况下不能正确打印x
。此情况:
if x >3 & x<=6
在这种情况下,为了满足您的需要,您可以更简洁地执行以下操作:
if 3 < x <= 6:
如果3和
(不是&
,它是二进制和运算符)。3&x
是3。您的第一个代码是检查x>3
和3@bjorn可能OP的意图实际上是执行逻辑和
。但问题是为什么使用&operator时条件为真。@RobertoCaboni更新以反映问题的这一方面,谢谢x>3&x@ThierryLathuille啊,是的。。。看来我在匆忙回答的过程中完全忽略了这一点!我已经更新以反映正确的逻辑-谢谢!这是唯一正确的答案:&
的优先级高于
x >3 & x<=6
7 > 3 <= 6
True <= 6
True
x = 7
if x >3 and x<=6:
print(x)
if x >3 & x<=6
if x > 3 and x <= 6:
if 3 < x <= 6: