我一直无法得到一个简单的代码块,希望有人能发现什么是错误的。我觉得我是瞎子。在
1)我在ArcGIS属性表中创建了一个新的短整数字段“SpeedLimit”,它表示道路类型的速度限制。在
2)道路类型是同一表中字段“fclass”中的字符串。在
我打开SpeedLimit字段的字段计算器并填充以下内容:
预逻辑脚本代码:
def Speed(class):
if (class == ‘secondary’ or class == ‘tertiary’ or class == ‘trunk’ or class == ‘motorway’ or class == ‘primary’):
return 70
elif (class == ‘secondary_link’ or class == ‘tertiary_link’ or class == ‘trunk_link’ or class == ‘motorway_link’ or class == ‘primary_link’):
return 45
elif (class == ‘service’ or class == ‘track_grade1’ or class == ‘track_grade2’ or class == ‘track_grade3’ or class == ‘track_grade4’ or class == ‘track_grade5’):
return 15
else:
return 30
速度限制=
^{pr2}$有人能发现我做错了什么而收到语法错误吗?在
根据评论进行编辑: 我收到了运行一个更短更简单的代码的错误:
def Speed(road):
if (road == 'secondary'):
return 70
else:
return 30
**答案** 我只是没有选择“Python”单选按钮。。。 谢谢大家的帮助。在
你可能想要这个:
但在Python中更为优雅的是:
^{pr2}$请注意,
elif
我使用了if
,因为每个分支都返回一个值(因此将跳过下一个语句)。在class
是Python中的保留字,因此您应该为参数选择一个不同的名称,例如cls
。另外,我不确定这是否是代码中的一个真正的问题,或者只是一个复制粘贴,引号字符是'
,而不是{相关问题 更多 >
编程相关推荐