weixin_47910241
2021-10-02 15:49
采纳率: 100%
浏览 48
已结题

这段python代码错哪,运行不了?arcgis批复条件赋值

def fillPX(fw):
if fw>22.5 and fw<=67.5:
return u'东北'
elif fw>67.5 and fw<=112.5:
return u'东'
elif fw>112.5 and fw<=157.5:
return u'东南'
elif fw>157.5 and fw<=202.5:
return u'南'
elif fw>202.5 and fw<=247.5:
return u'西南'
elif fw>247.5 and fw<=292.5:
return u'西'
elif fw>292.5 and fw<=337.5:
return u'西北'
else:
return u'北'

esri_field_calculator_splitter
fillPX( !FW! )

  • 好问题 提建议
  • 收藏

3条回答 默认 最新

  • 已采纳

    正常传值的话是可以输出的

    def fillPX(fw):
        if fw>22.5 and fw<=67.5:
            return u'东北'
        elif fw>67.5 and fw<=112.5:
            return u'东'
        elif fw>112.5 and fw<=157.5:
            return u'东南'
        elif fw>157.5 and fw<=202.5:
            return u'南'
        elif fw>202.5 and fw<=247.5:
            return u'西南'
        elif fw>247.5 and fw<=292.5:
            return u'西'
        elif fw>292.5 and fw<=337.5:
            return u'西北'
        else:
            return u'北'
    print(fillPX(222))
    

    img

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • CSDN专家-sinjack 2021-10-02 15:51

    你要在main方法中调用这个方法,并且传参数值。
    如有帮助,望点击我回答右上角【灰色采纳】按钮支持一下。
    代码修改如下:

    def fillPX(fw):
        if fw>22.5 and fw<=67.5:
            return u'东北'
        elif fw>67.5 and fw<=112.5:
            return u'东'
        elif fw>112.5 and fw<=157.5:
            return u'东南'
        elif fw>157.5 and fw<=202.5:
            return u'南'
        elif fw>202.5 and fw<=247.5:
            return u'西南'
        elif fw>247.5 and fw<=292.5:
            return u'西'
        elif fw>292.5 and fw<=337.5:
            return u'西北'
        else:
            return u'北'
    
    if __name__ == '__main__':
      print(fillPX(66))
    
    评论
    解决 无用
    打赏 举报
  • weixin_47910241 2021-10-02 21:23

    谢谢

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题