首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我得到了一个包含这组代码的UnboundLocalError

我得到了一个包含这组代码的UnboundLocalError
EN

Stack Overflow用户
提问于 2016-03-06 14:54:01
回答 1查看 22关注 0票数 0
代码语言:javascript
运行
复制
import math

'''Parameters to input: NS, EW, degee, minute, second
What the function does: converts bearing to azimuth
Expected return value: azimuth'''
def toAz(v,w,x,y,z):
    if v == "W" and w == "S" and x >= 0 and x < 90:
        azimuth = x,"deg",y,"min",z,"sec"
    if v == "W" and w == "N" and x >= 90 and x < 180:
        azimuth = (179-x),"deg",(60-y),"min",(60-z),"sec"
    if v == "E" and w == "N" and x >= 180 and x < 270:
        azimuth = (180+x),"deg",(y),"min",(z),"sec"
    if v == "E" and w == "S" and x >= 270 and x < 360:
        azimuth = (270+(89-x)),"deg",(60-y),"min",(60-z),"sec"
    return azimuth
EN

回答 1

Stack Overflow用户

发布于 2016-03-06 14:55:18

您需要在函数定义的顶部定义azimuth变量。因为return azimuth希望azimuth变量出现在同一级别。

代码语言:javascript
运行
复制
def toAz(v,w,x,y,z):
    azimuth = None
    if v == "W" and w == "S" and x >= 0 and x < 90:
        azimuth = x,"deg",y,"min",z,"sec"
    if v == "W" and w == "N" and x >= 90 and x < 180:
        azimuth = (179-x),"deg",(60-y),"min",(60-z),"sec"
    if v == "E" and w == "N" and x >= 180 and x < 270:
        azimuth = (180+x),"deg",(y),"min",(z),"sec"
    if v == "E" and w == "S" and x >= 270 and x < 360:
        azimuth = (270+(89-x)),"deg",(60-y),"min",(60-z),"sec"
    return azimuth
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35824056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档