Turtle 绘图题

本文展示了使用Python的turtle库创建各种图形的方法,包括同心圆、正多边形、螺旋形状、台球布局、螺旋六边形、太阳花等。通过调整参数和循环结构,可以实现不同复杂度和美感的图形设计。这些实例涵盖了turtle库的基础用法,如移动、转向、设置颜色和线条宽度等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同心圆

在这里插入图片描述

import turtle as t

color = ['red','pink','green']
ra = [20, 50, 100]
for i in range(3):
    t.pu() #turtle.penup() 别名turtle.pu(),画笔抬起,不留下痕迹
    t.goto(0, -ra[i]) 
    t.pd()
    t.pencolor(color[i])
    t.circle(ra[i]) #确定圆的半径
t.done()

画笔控制函数:turtle库
绝对坐标t.goto 海龟位置
更改 turtle 绘图墨水的颜色t.pencolor
turtle.pencolor()用法

Python之turtle.circle()函数理解
题目给出了基本数据的定义,后面要使用这些变量
在 for 循环里面,主要问题是画笔的定位,要考虑圆心的位置是(0,0)的时候,画笔要移动到圆心位置正下方,因此坐标点是(0,-ra[i])
画笔颜色要从颜色列表里选取
画圆的半径也从变量里面获取
在这里插入图片描述

正十二边形

在这里插入图片描述

import turtle
turtle.pensize(2)
d = 0
for i in range(1, 13):
    turtle.fd(40)
    d += 30 # 表示每次移动的角度是30度
    turtle.seth(d)

turtle模块

正八边形

在这里插入图片描述

import turtle
turtle.pensize(2)
d = 0
for i in range(1,9):
    turtle.fd(100)
    d += 45
    turtle.seth(d)

三角形

在这里插入图片描述

import turtle as t
for i in range(3):
    t.seth(i*120) 
    t.fd(200)

同心套圆

在这里插入图片描述

r = 10
dr = 50
head = 90
for i  in range (4):
    turtle.pendown()
    turtle.circle(r)
    r +=  dr
    turtle.penup()
    turtle.seth(-head)
    turtle.fd(dr)
    turtle.seth(0)
turtle.done()

螺旋正方

在这里插入图片描述

import turtle
d = 0
k = 1
for j in range(10):
   for i in range(4):
       turtle.fd(k)
       d += 91
       turtle.seth(d)
       k += 2
turtle.done()

1.绘制螺旋状扩展的正方形,有两个关键点:
(1)用双重循环,外循环控制螺旋的层数;内层循环控制多边形的边数;
(2)每画一条边都增加画笔的转角和边长。例如在这个程序里,每次画笔角度比前一个方向多91度,边长比前一个边长多2个像素点。

台球

在这里插入图片描述

import turtle
def drawCircle():         #定义画圆函数
    turtle.pendown()
    turtle.circle(20)
    turtle.penup()
    turtle.fd(40)
def drawRowCircle(n):    # 定义画层次圆函数
    for j  in range(n,1,-1):
        for i in range(j):
            drawCircle()
        turtle.fd(-j*40-20)
        turtle.right(90)
        turtle.fd(40)
        turtle.left(90)
        turtle.fd(40)
    drawCircle()

drawRowCircle(5)        #画斯洛克函数
turtle.hideturtle()
turtle.done()

螺旋六边形

在这里插入图片描述

import turtle
edge = 6
d = 0
k = 1
for j in range(10):              #外重循环10个六边形
    for i in range(edge):        #内重循环6个边(边长逐渐加大,实现螺旋效果)
       turtle.fd(k)              #边长
       d += 360/edge             #角度变化值设定
       turtle.seth(d)            #角度变化
       k += 3                    #边长增加3
turtle.done()

太阳花

在这里插入图片描述

import turtle
turtle.color("red","yellow")
turtle.begin_fill()
#绘制太阳花形状
for i in range(50):
    turtle.forward(200)
    turtle.right(170)
turtle.end_fill()
turtle.done()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值