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

问题描述 投票:0回答:2

我试着从pygame运行quadtree example(该页面上的第一段代码)但是在一个非常令人困惑的行上遇到语法错误:

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

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

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

问题是,这与领先的等号没有任何关系。那里肯定还有别的东西。我花了几个小时试图解决这个问题并阅读复合语句。

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

python syntax-error equals quadtree
2个回答
5
投票

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

整行应该是:

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

3
投票

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

将&lt with&和&gt替换为>应该修复它。

© www.soinside.com 2019 - 2024. All rights reserved.