功能不打印坐标

时间:2019-01-19 08:52:29

标签: python python-3.x

我编写了这段代码,将大地坐标转换为笛卡尔坐标。它要求用户输入并打印x,y和z。 代码运行时没有任何错误,但是在输入之后,打印功能不会显示x的值。

这里是什么问题?

谢谢您的帮助。

import math

a = 6378137                     
f= 0.00335281068
latitude = math.radians(float(input('Enter Latitude:')))
longitude = math.radians(float(input('Enter Longitude:')))
height  = float(input('Enter Height:'))

def earthConverter(latitude, longitude, height):
    N = a / math.sqrt(1-e**2 * math.sin(longitude)**2)
    e = math.sqrt((2 * f) - (f**2))
    x = (N + height) * math.cos(longitude) * math.cos(latitude)
    y = (N + height) * math.cos(longitude) * math.sin(latitude)
    z = (N * (1 - (e**2) ) + height) * math.sin(latitude)
    return x, y, z

    earthConverter(123.0256, 56.45648, 21322.4545)
    print('x is %f' % x)

1 个答案:

答案 0 :(得分:1)

似乎您的功能意图未正确复制。因为该代码将无法如上所示工作。似乎是复制和粘贴错误。

要解决此问题,您需要存储从函数返回的结果:

def earthConverter(latitude, longitude, height):
    ...
    return x, y, z

x,y,z = earthConverter(123.0256, 56.45648, 21322.4545)
print('x is %f' % x)