混淆复合Python语句的语法错误

时间:2014-09-17 19:07:50

标签: python syntax-error equals quadtree

我尝试从pygame运行quadtree example(该页面上的第一段代码)但是在一个非常混乱的行上出现语法错误:

in_nw = item.left <= cx and item.top <= cy

语法错误指向表达式(<=)中的第二个等号。我知道分号可用于在一行上放置多个表达式,但这并不意味着它与以下内容相同:

        in_nw = item.left &lt
        = cx and item.top &lt
        = cy

问题是,这对前导等号没有任何意义。那里肯定还有别的东西。我花了几个小时试图解决这个问题并阅读复合语句。

有谁知道这是假设做什么或用不同的方式写它?我认为它适用于作者以及在他下方使用相同语法发布类似代码的人,但由于某种原因它不适用于我。我真的只想重写这部分,而不必解密他的其余代码来弄清楚他想要做什么。

2 个答案:

答案 0 :(得分:5)

这只是一个标记问题。 &lt;应为<

整行应该是:

in_nw = item.left <= cx and item.top <= cy

答案 1 :(得分:3)

语法相当奇怪,出于某种原因,它表示&amp; lt而不是小于符号。这是常用的HTML和其他标记语言,其中尖括号用于实际标记,而不是小于或大于。

更换&amp; lt with&lt;和&amp; gt with&gt;应该解决它。