我已经被困在这个问题上很久了,一直得不到回应。我已经尝试过像import turtle, wn = turtle.Screen()
这样的命令,但是这些命令在Visual studios上都不起作用。
一旦我输入了这些命令,它就不会在“问题”栏或输出栏中显示任何信息,但什么也不会发生。就像不弹出海龟屏幕之类的。
发布于 2019-05-26 01:39:57
这是一个工作的海龟程序。测试您的IDE是否能正常工作-输入为50、4和60时,您会得到以下输出:
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()
如果这不起作用,您必须查看是否缺少包。
发布于 2019-05-26 01:53:08
最小样本,工作正常
''' sample.py '''
import turtle
s = turtle.Screen()
t = turtle.Turtle()
t.forward(100)
s.exitonclick()
运行后,您将获得
> python3 ./sample.py
https://stackoverflow.com/questions/56307162
复制相似问题