【问题标题】:Indentation errors with code block?代码块的缩进错误?
【发布时间】:2017-10-31 13:11:24
【问题描述】:

我尝试定义以下函数,但不断得到:
error 000989 : Python syntax error: <value>

显然我的代码语法不正确。我尝试了以下方法:

def yieldCalc(value):
 if (value=1):
     return 6.2
  elif (value=2):
     return 7.9
  else:
     return 8.21

还有

def yieldCalc(value):
 if (value=1):
     return 6.2
  elif (value=2):
     return 7.9
 else:
     return 8.21

def yieldCalc(value):
 if (value=1):
     return 6.2
 elif (value=2):
     return 7.9
 else:
     return 8.21

缩进python代码块的正确方法是什么?

【问题讨论】:

    标签: python if-statement calculator arcgis arcmap


    【解决方案1】:

    感谢所有回复的人,事实证明我错了——正如你们所指出的——用于在我的 if 中声明逻辑测试的语法。

    我使用 == 而不是 =,并按照 Larry 的建议保留缩进。

    它有效,我节省了很多时间。

    【讨论】:

      【解决方案2】:

      在python中你应该使用双等号==来比较两个值:

      def yieldCalc(value):
          if value == 1:
              return 6.2
          elif value == 2:
              return 7.9
          else:
              return 8.21
      

      有关缩进和比较的更多信息,请参阅 python 文档中的以下链接:

      Style Guide - Indentation

      Built-in types - Comparison

      【讨论】:

      • 您应该在此答案中添加有关正确缩进的评论
      • 谢谢,我添加了官方文档的链接。
      【解决方案3】:

      您的代码存在几个基本问​​题。如果您粘贴了上面使用的代码,那么您没有遵循PEP-8 标准。

      1. Use 4 spaces per indentation level。在您的第一个缩进中,您使用的是一个空格。
      2. 如果您正在测试变量 value 的值为 1,那么您应该使用 == - 单个 = 是一个 assignment statement
      def yieldCalc(value):
          if value == 1:
              return 6.2
          elif value == 2:
              return 7.9
          else:
              return 8.21
      

      【讨论】:

      • not followinh pep8 并不是导致错误的真正问题。然而,不一致的缩进确实会导致错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多