【问题标题】:Syntax error on confusing compound Python statement混淆复合 Python 语句的语法错误
【发布时间】:2014-09-17 19:07:49
【问题描述】:

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

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

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

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

问题是,这对于前导等号没有任何意义。那里一定有其他事情发生。我花了几个小时试图弄清楚这一点并阅读复合语句。

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

【问题讨论】:

  • 我认为应该是<=。看起来代码在插入 HTML 页面时以某种方式搞砸了,并且符号被转义为 HTML 实体名称。
  • 那是被html编码的python,将所有<变成<,例如某些东西损坏了代码
  • 哇,谢谢大家!每个人都是对的,希望我能把他们都标记为正确的。我永远不会得到那个,你们都回答得如此之快,我什至无法回答。

标签: python syntax-error equals quadtree


【解决方案1】:

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

整行应该是:

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

【讨论】:

    【解决方案2】:

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

    将 &lt 替换为 应该可以解决此问题。

    【讨论】:

    • 您的&amp;lt;&amp;gt; 被解释为HTML 实体并变成&lt;&gt;。因此,您基本上落入了与编写该 Wiki 页面的人相同的陷阱,反之亦然。 (使用反引号引用它们)。
    • 哈哈哎呀!谢谢,我修好了。
    猜你喜欢
    • 2021-03-30
    • 1970-01-01
    • 2012-11-19
    • 2012-11-04
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    相关资源
    最近更新 更多