在Python中用turtle函数画同心圆
用turtle函数画空心圆
turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置。
画笔的坐标默认在0,0,就以它为圆心。
因为turtle画圆的时候是从圆的底部开始画的,所以需要找到四个圆底部的坐标
四个空心圆的代码
import turtle for i in range(4): turtle.penup() turtle.goto(0,-50*(i+1))#从里面最小的一个圆的底部,慢慢变大 turtle.pendown() turtle.circle(50*(i+1))
抬起画笔:turtle.penup()
移动到相应坐标:turtle.goto(坐标)
放下画笔:turtle.pendown()
画圆:turtle.circle(半径)
效果如图示,可以加画笔的粗细颜色。
import turtle
for i in range(4):
turtle.pencolor("black")
turtle.pensize(20)
turtle.penup()
turtle.goto(0,-50(i+1))
turtle.pendown()
turtle.circle(50(i+1))
效果如图
将其封装为函数
import turtle
def target (size,color):
for i in range(4):
turtle.pencolor(color)
turtle.pensize(size)
turtle.penup()
turtle.goto(0,-50(i+1))
turtle.pendown()
turtle.circle(50(i+1))
target(20,"pink")
效果如图,像是甜甜圈,哈哈哈
========================
同心矩形
import turtle #turtle.pensize(10) for i in range(5): turtle.penup() turtle.goto(-50*(i+1),50*(i+1))#从里面最小的一个圆的底部,慢慢变大 turtle.pendown() turtle.title('矩形') #turtle.begin_fill() #turtle.fillcolor('#069') for x in range(1, 5): if x % 2 == 1: n = 100*(i+1) else: n = 100 *(i+1) turtle.forward(n) turtle.right(90) #turtle.end_fill() turtle.hideturtle() turtle.done()
五环
import turtle turtle.title('奥运五环') x = -200 y = 100 r = 100 turtle.screensize(800,600) turtle.speed(5) # 第一个圈,蓝色 turtle.up() turtle.goto(x, y) turtle.down() turtle.pensize(5) turtle.pencolor('blue') turtle.circle(r) # 第二个圈,黑色 turtle.up() turtle.goto(x + 2.5 * r, y) turtle.down() turtle.pensize(5) turtle.pencolor('black') turtle.circle(r) # 第三个圈,红色 turtle.up() turtle.goto(x + (2.5 * r) * 2, y) turtle.down() turtle.pensize(5) turtle.pencolor('red') turtle.circle(r) # 第四个圈,黄色 turtle.up() turtle.goto(x + (2.5 * r) * 0.5, y - r) turtle.down() turtle.pensize(5) turtle.pencolor('yellow') turtle.circle(r) # 第五个圈,绿色 turtle.up() turtle.goto(x + (2.5 * r)*1.5, y - r) turtle.down() turtle.pensize(5) turtle.pencolor('green') turtle.circle(r) turtle.hideturtle() turtle.done()
作者:哈喽阿甘
链接:https://www.jianshu.com/p/9d46029ada6c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。