如何用如何用turtle画圆、五角星和椭圆等画圆、五角星和椭圆等
文章目录文章目录1. turtle的异常报错2. 多边形、圆、五角星2.1 十边形2.2 圆2.3 五角星3. 椭圆和多边形3.1 六边形3.2 椭圆3.3 旋转和移动椭圆
1. turtle的异常报错的异常报错
turtle模块和pycharm有冲突,如果出现下面这种不提示代码而且标黄的情况。
需要进入turtle.py源文件里面找到下面这段代码并将这段代码注释掉。
# __all__ = (_tg_classes + _tg_screen_functions + _tg_turtle_functions +
# _tg_utilities + ['Terminator']) # + _math_functions)
然后再在这段代码后面加入下面一段代码就可以正常使用了。
__all__ = ['ScrolledCanvas', 'TurtleScreen', 'Screen', 'RawTurtle', 'Turtle', 'RawPen', 'Pen', 'Shape', 'Vec2D', 'back',
'backward', 'begin_fill', 'begin_poly', 'bk', 'addshape', 'bgcolor', 'bgpic', 'bye', 'clearscreen',
'colormode', 'delay', 'exitonclick', 'getcanvas', 'getshapes', 'listen', 'mainloop', 'mode', 'numinput',
'onkey', 'onkeypress', 'onkeyrelease', 'onscreenclick', 'ontimer', 'register_shape', 'resetscreen',
'screensize', 'setup', 'Terminator', 'setworldcoordinates', 'textinput', 'title', 'tracer', 'turtles',
'update', 'window_height', 'window_width', 'write_docstringdict', 'done', 'circle', 'clear', 'clearstamp',
'clearstamps', 'clone', 'color', 'degrees', 'distance', 'dot', 'down', 'end_fill', 'end_poly', 'fd',
'fillcolor', 'filling', 'forward', 'get_poly', 'getpen', 'getscreen', 'get_shapepoly', 'getturtle', 'goto',
'heading', 'hideturtle', 'home', 'ht', 'isdown', 'isvisible', 'left', 'lt', 'onclick', 'ondrag', 'onrelease',
'pd', 'pen', 'pencolor', 'pendown', 'pensize', 'penup', 'pos', 'position', 'pu', 'radians', 'right', 'reset',
'resizemode', 'rt', 'seth', 'setheading', 'setpos', 'setposition', 'settiltangle', 'setundobuffer', 'setx',
'sety', 'shape', 'shapesize', 'shapetransform', 'shearfactor', 'showturtle', 'speed', 'st', 'stamp', 'tilt',
'tiltangle', 'towards', 'turtlesize', 'undo', 'undobufferentries', 'up', 'width', 'write', 'xcor', 'ycor']
2. 多边形、圆、五角星多边形、圆、五角星
将360°分为n份,每次画一条长度为m的线段就改变(360/n)角度,这样就能画出边长为m的n边形了。当边的个数足够多时,多边形就变成
圆了,代码如下。
import turtle, math
turtle.setup(800, 800) #设置画布
turtle.pencolor('red') #设置画笔的颜色
turtle.pensize(1) #设置画笔的粗细
turtle.speed(2) #设置画笔的速度
def polygon(m, n):
for i in range(n):
turtle.forward(m)
turtle.right(360 / n)
turtle.mainloop() #让画布不消失
2.1 十边形十边形
给函数传参
import turtle, math
turtle.setup(800, 800) #设置画布
turtle.pencolor('red') #设置画笔的颜色
turtle.pensize(1) #设置画笔的粗细
turtle.speed(2) #设置画笔的速度
def polygon(m, n):
for i in range(n):
turtle.forward(m)
turtle.right(360 / n)
turtle.mainloop() #让画布不消失
polygon(100,10)
评论0
最新资源