【问题标题】:I was asked to write a "sentence" with operators (operator precedence)我被要求用运算符(运算符优先级)写一个“句子”
【发布时间】:2021-12-01 07:34:46
【问题描述】:
我是编程和 Python 的新手,我的老师教我写一个方程式:
c = 月 ≡ 日 ∨ 日 ¬ ????onth
其中≡是恒等式,∨是“或”,¬是(逻辑)否定。我真的不知道该怎么做,因为当我尝试打字时
c=month is day or (day not month)
Python 告诉我,我犯了一个语法错误,我不知道如何修复它。我也不确定运算符优先级。我希望你能理解我的问题,因为英语不是我的第一语言,所以很难说清楚发生了什么。
【问题讨论】:
标签:
python
operator-keyword
operator-precedence
【解决方案1】:
我假设问题是“将逻辑方程转换为实际的 Python 表达式”。
这个等式有点奇怪,因为 ¬ 因为否定是一个 一元 运算符,即它变为真为假,假为真。所以让它出现在 两个变量之间是很奇怪的。
您在 Python 中的语法错误与此有关:not 不能只发生在两个变量之间。从语法上看,会起作用的东西类似于
c = month is day or (day is not month)
但这是一个有点奇怪的公式,因为如果你仔细想想,那总是正确:month 是 day,在这种情况下,or 的第一部分是True。或者month 不是day,在这种情况下or 的第二部分是True。