Имеется такой код:
import turtle import math window = turtle.Screen() window.setup(1200 + 3, 800 + 3) window.bgpic('images/cosmos.png') window.screensize(1200, 800) BASE_X, BASE_Y = 0,-300 def calc_heading(x1, y1, x2, y2): import math dx = x2-x1 length = (dx ** 2 +(y2-y1) ** 2) ** 0.5 cos_alpha = dx / length alpha = math.acos(cos_alpha) alpha = math.degrees(alpha) return alpha def fire_missile(x, y): print(x,y) import turtle import math BASE_X, BASE_Y = 0,-300 missile = turtle.Turtle() missile.color('red') missile.penup() missile.setpos(x=BASE_X, y=BASE_Y) missile.pendown() [b][u]heading = calc_heading(x1 = BASE_X, y1 = BASE_Y, x2 = x, y2 = y)[/u][/b] missile.setheading(heading) missile.forward(500) missile.shape('circle') missile.shapesize(2) missile.shapesize(3) missile.clear() missile.hideturtle() window.onclick(fire_missile) window.mainloop()
Обратите внимание, импортирую библиотеки в самой функции, т.к. функции “слепые” какие-то, не видят ни чего за их пределами.
Сама функция calc_heading работает, но вторая функция не может ею воспользоваться, т.к. не видит её.
Если я fire_missile вкладываю в calc_heading, ошибка не возникает, но и результата ни какого нет.
Вообщем подскажите, пожалуйста где копать?
Может эта проблема из-за того что у меня Python Portable 3.7.4.0 ?