Черепаха зависает при разборе переменных - PullRequest
0 голосов
/ 08 октября 2019

Позвольте мне предварить это, сказав, что у меня нет большого опыта работы с Python в целом, так что это, вероятно, просто случайная человеческая ошибка. В любом случае, я не могу понять это. Это прототип для калькулятора специального назначения, который я программирую, и я попробовал построить точечную графику с черепахой. Каждый раз, когда я заканчиваю вводить данные, он выводит строку, но вылетает окно черепахи. Он зависает и говорит: «Это окно не отвечает». Дело в том, что я попытался открыть новую программу, и она может использовать переменные в чистой программе, а также функцию «точка», так что я не знаю, что, черт возьми, происходит. В любом случае, вот код.

turtle.screensize(100000,100000)
turtle.speed(0)
repeat = 0
turtle.left(90)
def hAxis():
    repeat = 100
    while repeat >= 0:
        turtle.forward(10)
        turtle.right(90)
        turtle.forward(2.5)
        turtle.left(180)
        turtle.forward(5)
        turtle.right(180)
        turtle.forward(2.5)
        turtle.left(90)
        repeat = repeat-1
def retCent():
    turtle.penup()
    turtle.goto(0,0)
    turtle.pendown()
    turtle.left(90)
hAxis()
retCent()
hAxis()
retCent()
hAxis()
retCent()
hAxis()
transType = input("Type of transformation: ")
if transType == "translation":
    pX = int(input("x pre-coord: "))
    pY = int(input("y pre-coord: "))
    x = int(input("x coord: "))
    y = int(input("y coord: "))
    transX = x - pX 
    transY = y - pY
    pointX = int(input("Point x preval: "))
    pointY = int(input("Point y preval: "))
    finX = pointX + transX
    finY = pointY + transY
    input("(" + str(finX) + "," + str(finY) + ")")
    print("")
    gotoX = finX * 10
    gotoY = finY * 10
    turtle.penup()
    turtle.setx(gotoX)
    turtle.sety(gotoY)
    turtle.dot(1)

мама, подойди, забери меня, мне страшно

1 Ответ

0 голосов
/ 09 октября 2019

Следующее переосмысление работает для меня, несмотря на то, что я не знаю, что пытается сделать ваше программирование! dot(1) ужасно трудно увидеть - удачи!

from turtle import Screen, Turtle

def axis():
    screen.tracer(False)

    for _ in range(4):
        for _ in range(100):
            turtle.forward(10)
            turtle.right(90)
            turtle.forward(2.5)
            turtle.backward(5)
            turtle.forward(2.5)
            turtle.left(90)

        turtle.penup()
        turtle.goto(0, 0)
        turtle.left(90)
        turtle.pendown()

    screen.tracer(True)

screen = Screen()
screen.screensize(100_000, 100_000)

turtle = Turtle()
turtle.hideturtle()
turtle.speed('fastest')

axis()

turtle.penup()

transType = input("Type of transformation: ")

if transType == "translation":
    pX = int(input("x pre-coord: "))
    pY = int(input("y pre-coord: "))

    x = int(input("x coord: "))
    y = int(input("y coord: "))

    transX, transY = x - pX, y - pY

    pointX = int(input("Point x preval: "))
    pointY = int(input("Point y preval: "))

    finX, finY = pointX + transX, pointY + transY

    print("(" + str(finX) + ", " + str(finY) + ")")

    turtle.goto(finX * 10, finY * 10)
    turtle.dot(1)

screen.exitonclick()
...