Python逻辑助记符

时间:2016-05-03 09:51:41

标签: python boolean-logic

在回答a question about Python and/or logic时,Spacetoast写道:

x and y returns true if both x and y are true.

x or y returns if either one is true.

我设法通过使用"或"来迷惑自己。什么时候它应该是"和"。无需编制真值表,是否有助记符来记住正确使用和/或?

3 个答案:

答案 0 :(得分:3)

不是真正的助记符,但NOAH过去帮助了我的学生。

必须有多少输入?

无=>也不

一个=>或

全部=>和

老实说=>注意真相表

老实说,能够使用真值表的技巧值得坚持不懈。 (注意python中没有NOR运算符,它是一个Not-or)。

答案 1 :(得分:2)

对该问题的尖锐回答的混淆来自于他说OR包含AND,这在你的案例中是正确的。这里没有什么可记住的,如果您使用or运算符并且两个表达式中至少有一个是True 那么如果 none则返回True其中两个表达式为True ,它返回False

这意味着如果xyTrue or True也是x,因为只要第一个表达式True } and没有必要评估第二个。

另一方面,如果您正在使用private void FillEventInfo(Event e) { txtBoxEventInfo.Font = new Font(<someFontFamily>, 16); txtBoxEventInfo.Text = String.Format("Navn: {0} Startdate: {1} Enddate:{2} Rostersize: {3} Info: {4} ", e.Name, e.StartDate, e.EndDate, e.RosterSize, e.Description); txtBoxSomeOtherEventInfo.Font = new Font(<someOtherFontFamily>, 22); txtBoxSomeOtherEventInfo.Text = "Some other text" } 并且第一个表达式没有评估为True,则无需评估第二个表达式,因为它&#39他们两个都不可能成为真的。

enter image description here

答案 2 :(得分:0)

不需要助记符 通过一个简单的概念记住这一点:

或->任意一个为真
和->全部为真

true或false = True

true和false = False