首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能在VS - Python中导入turtle或turtle.Screen?

为什么我不能在VS - Python中导入turtle或turtle.Screen?
EN

Stack Overflow用户
提问于 2019-05-26 01:28:34
回答 2查看 109关注 0票数 1

我已经被困在这个问题上很久了,一直得不到回应。我已经尝试过像import turtle, wn = turtle.Screen()这样的命令,但是这些命令在Visual studios上都不起作用。

一旦我输入了这些命令,它就不会在“问题”栏或输出栏中显示任何信息,但什么也不会发生。就像不弹出海龟屏幕之类的。

EN

回答 2

Stack Overflow用户

发布于 2019-05-26 01:39:57

这是一个工作的海龟程序。测试您的IDE是否能正常工作-输入为50、4和60时,您会得到以下输出:

代码语言:javascript
运行
复制
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()

如果这不起作用,您必须查看是否缺少包。

票数 0
EN

Stack Overflow用户

发布于 2019-05-26 01:53:08

最小样本,工作正常

代码语言:javascript
运行
复制
''' sample.py '''
import turtle

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

运行后,您将获得

代码语言:javascript
运行
复制
> python3 ./sample.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56307162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档