Почему я не могу импортировать черепаху или черепаху. Экран в VS - Python? - PullRequest
1 голос
/ 25 мая 2019

Я застрял на этом целую вечность, не получая ответа. Я уже пытался выполнять такие команды, как import turtle, wn = turtle.Screen(), но ни одна из этих работ для Visual Studio для меня.

Как только я ввожу эти команды, в «проблеме» или строке вывода ничего не появляется, но ничего не происходит. Как будто не появляется экран черепахи или что-то в этом роде.

Ответы [ 2 ]

0 голосов
/ 25 мая 2019

Минимальный образец, работает просто отлично

''' sample.py '''
import turtle

s = turtle.Screen()
t = turtle.Turtle()
t.forward(100)
s.exitonclick()

после запуска вы получите

> python3 ./sample.py

enter image description here

0 голосов
/ 25 мая 2019

Это рабочая программа черепахи. Проверьте, работает ли ваша IDE с этим - с входами 50, 4 и 60 вы получите следующий вывод:

demo output

import math
import turtle

def squareFromCurrPosAndRotationAsCenter(bob, s):
    """Starting from current position and rotation, draw a square of sidelength s.
    End on same position and rotation you began with."""
    # goto first side
    bob.penup()
    bob.forward(s/2)
    bob.pendown()
    # draw a half side
    bob.right(90)
    bob.forward(s/2)
    # draw three full sides
    for k in range(3):
        bob.right(90)
        bob.forward(s)
    # draw last half side
    bob.right(90)
    bob.forward(s/2)

    # goto back to origin
    bob.penup()
    bob.right(90)
    bob.forward(s/2)
    # turn back in original direction
    bob.right(180) 


def getInt(text, default): 
    """Try to parse input to int, return default if not possible"""
    try:
        return int(input(text))
    except:
        return default

def symetricSquares():
    # Get user input or (when error) use default
    size = getInt('Enter size for top square: ', 50)
    num_squares = getInt('Enter the amount of squares: ', 4)
    angle = getInt('Enter increase of starting angle: ', 60)

    # Create a turtle
    bob = turtle.Turtle()

    bob.speed(max(5,(num_squares * 360/angle)//10)) 

    # outer loop changes starting angle
    for startAngle in range(0,360-angle+1,angle):
        bob.setheading(startAngle)

        # we use a list comp to create the desired square sizes
        # you could also do [size, size*2, size*3, size*4] if 
        # you want always 4 circles

        for s in [size*(n+1) for n in range(num_squares)]:
            squareFromCurrPosAndRotationAsCenter(bob, s)

    turtle.mainloop()


def main():
    symetricSquares()

main()

Если это не сработает, вы должны увидеть, пропускаете ли вы пакеты.

...