我正在尝试减少and
的使用,但是输出结果很奇怪:
> [and] 2>1, 3>2, put 1, put 2
2
1True
同时,如果我在每个表达式之间加上
and
,一切都没问题。> 2>1 and 3>2 and put 1 and put 2
1
2
这种差异的原因是什么?
我正在尝试减少and
的使用,但是输出结果很奇怪:
> [and] 2>1, 3>2, put 1, put 2
2
1True
and
,一切都没问题。> 2>1 and 3>2 and put 1 and put 2
1
2
> [and] (2>1), (3>2), (put 1,(put 2))
2
1True
> (2>1) and (3>2) and (put 1) and (put 2)
1
2
put 2
,打印出2
并返回True
,然后是put 1,True
,打印1True
,返回True
。整个表达式的评估结果为True
,但不会再打印任何内容。put 1
首先被评估,打印出1
并返回True
,然后评估put 2
,打印2
并同样返回True
。再次,整个表达式的评估结果为True,但不会再打印任何内容。
put 1
返回True
,put 1, put 2
等同于put (1, put 2)
。您在使用put
语句时想要实现什么目的? - Håkon Hægland[and] 2>1, 3>2, (put 1), (put 2)
- Eugene Barsky