50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
|
import requests, json, turtle
|
|||
|
|
|||
|
iss = turtle.Turtle()
|
|||
|
|
|||
|
def setup(window):
|
|||
|
global iss
|
|||
|
|
|||
|
window.setup(1000, 500)
|
|||
|
window.bgpic('earth.gif')
|
|||
|
window.setworldcoordinates(-180, -90, 180, 90)
|
|||
|
turtle.register_shape('iss.gif')
|
|||
|
iss.shape('iss.gif')
|
|||
|
|
|||
|
def mov_iss(lat, long):
|
|||
|
global iss
|
|||
|
|
|||
|
iss.penup()
|
|||
|
iss.goto(lat, long)
|
|||
|
iss.pendown()
|
|||
|
|
|||
|
def track_iss():
|
|||
|
url = 'http://api.open-notify.org/iss-now.json'
|
|||
|
|
|||
|
response = requests.get(url)
|
|||
|
|
|||
|
if (response.status_code == 200):
|
|||
|
response_dictionary = json.loads(response.text)
|
|||
|
position = response_dictionary['iss_position']
|
|||
|
# print('Координаты МКС: ', position['longitude'] + ',' + position['latitude'])
|
|||
|
lat = float(position['latitude'])
|
|||
|
long = float(position['longitude'])
|
|||
|
mov_iss(lat, long)
|
|||
|
else:
|
|||
|
print('Хьюстон, у нас проблема:', response.status_code)
|
|||
|
widget = turtle.getcanvas()
|
|||
|
widget.after(5000, track_iss())
|
|||
|
|
|||
|
|
|||
|
def main():
|
|||
|
global iss
|
|||
|
|
|||
|
screen = turtle.Screen()
|
|||
|
setup(screen)
|
|||
|
track_iss()
|
|||
|
|
|||
|
|
|||
|
if __name__ == '__main__':
|
|||
|
main()
|
|||
|
turtle.mainloop()
|