我想用“海龟”来显示国际空间站在世界地图上的位置。我从一个API上获取了经度和纬度。然后将坐标保存到变量“lon”和“lat”。在
但是当我使用iss.goto(lon, lat)
时,我收到一个TypeError。我相信这是由于经纬度坐标有时是负数,所以浮点数的前缀是“-”。在
谁能帮我修好这个吗?在
import tkinter
import turtle
import json
import urllib.request
url = 'http://api.open-notify.org/iss-now.json'
response = urllib.request.urlopen(url)
result = json.loads(response.read())
location = result['iss_position']
lat = (location['latitude'])
lon = (location['longitude'])
print('latitude: ', lat)
print('longitude: ', lon)
screen = turtle.Screen()
screen.setup(3000, 1500)
screen.setworldcoordinates(-180, -90, 180, 90)
screen.register_shape('iss2.gif')
screen.bgpic('world_map.png')
iss = turtle.Turtle()
iss.shape('iss2.gif')
iss.setheading(90)
iss.penup()
iss.goto(lon, lat) # I get the error here
tkinter.mainloop()
错误消息:
^{pr2}$
错误是抱怨不能从字符串中减去浮点值。在
所以,这个问题与一些值是浮动的,或者一些浮动是负的无关。不能从字符串中减去int,或从字符串中减去正浮点,或从字符串中减去任何其他值。问题是有些值是字符串。在
如果打印出值的repr而不是直接打印值的repr,则可以看到:
你会看到这样的画面:
^{pr2}$所以,要解决这个问题,只需将这些字符串转换为浮点:
相关问题 更多 >
编程相关推荐