python turtle画图代码大全,python用turtle画花瓣

本文介绍了如何使用Python的turtle库在PyCharm2021.3.2中绘制简单图案,通过flowers.py中的flower方法,生成随机颜色和位置的花朵,展示了如何控制画笔速度、粗细以及花瓣绘制过程。

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

大家好,小编来为大家解答以下问题,用pythonturtle画简单的图案,python turtle画图代码大全,现在让我们一起来看看吧!

语言:

python

工具:

Pycharm 2021.3.2

文件:

main.py代码及解释:

导入文件floowers.py

import flowers

调用flowers的flower方法画10朵花(数目可以改“()”里的数值)

flowers.flower(10)

flowers.py代码及解释:

导入库:

turtle、random

代码:

导入turtle库

import turtle

导入random库,as **是把**作为random库来使用,即取名字。(后面ran就相当于random库)

import random as ran

定义一个方法flower(s是花的数量,以下均为方法体里的代码)

def flower(s):

将画笔上的箭头去掉(这里是简写,也可以写成"turtle.hideturtle()",效果一样)

turtle.ht()

*将箭头显示出来的代码是turtle.st()或是turtle.showturtle(),搞不懂方向的可以把箭头显示出来,方便一些神码ai火车头标题伪原创

设置画笔的速度和粗细:

turtle.speed(9)
turtle.pensize(3)

for循环,一次循环就是一朵花

for i in range(s):

画笔的颜色,即花的颜色(这里用random函数随机花的颜色,用turtle.color(r,g,b)来代替也行)

r = ran.random()
g = ran.random()
b = ran.random()
turtle.pencolor(r, g, b)

将笔抬起来或者说离开画布(turtle.pu()也是可以的)

turtle.penup()

画笔移动到随机的位置通过坐标系定位,原始位置是(0,0)即原点(如果没有上一句,就会出现一条条线段)

turtle.goto(ran.randint(-400, 400), ran.randint(-250, 250))

画笔放下,开始画花了(也有简写turtle.pd())

turtle.pendown()

画花前的准备:

petal_num = ran.randint(10, 20)  # 花瓣数
flower_size = ran.randint(10, 35)

画花的轮廓:

一次循环就是一个花瓣

turtle.forward(x)就是向前走x,即沿着当前方向走x(可以简写turtle.fd())

turtle.backward(x)就是向后走x,即沿着当前方向的反方向走x(可以简写turtle.bk())

turtle.right(x)就是当前方向顺时针旋转x°(可以简写成turtle.rt())

turtle.left(x)就是当前方向逆时针旋转x°(可以简写成turtle.lt())

for _ in range(petal_num):
    turtle.forward(flower_size)  
    turtle.right(30)
    turtle.forward(flower_size / 2)
    turtle.left(60)
    turtle.backward(flower_size / 2)
    turtle.right(30)
    turtle.backward(flower_size) 
    turtle.right(360 / petal_num) 

轮廓里面的花芯(这里不是圆,仅仅是多边形):

turtle.right(90)
for _ in range(petal_num):
    turtle.forward(flower_size / 2)
    turtle.right(360 / petal_num)
turtle.left(90)

至此花画完了

结尾:

为了不出现一闪而过的结果加上

turtle.done()

搞不来缩进,就直接复制吧。

flower.py:

import turtle
import random as ran


def flower(s):
    turtle.hideturtle()
    turtle.speed(9)
    turtle.pensize(3)
    for i in range(s):
        r = ran.random()
        g = ran.random()
        b = ran.random()
        turtle.color(r, g, b)
        turtle.penup()  # 笔抬起
        turtle.goto(ran.randint(-500, 500), ran.randint(-250, 250))  # 笔移动
        turtle.pendown()  # 笔落下
        petal_num = ran.randint(10, 20)  # 花瓣数
        flower_size = ran.randint(10, 35)  # 花瓣大小的影响因子
        for _ in range(petal_num):
            turtle.forward(flower_size)  # 向当前方向移动snowflake_size距离
            turtle.right(30)
            turtle.forward(flower_size / 2)
            turtle.lt(60)
            turtle.backward(flower_size / 2)
            turtle.right(30)
            turtle.backward(flower_size)  # 向当前方向的反方向移动snowflake_size距离
            turtle.right(360 / petal_num)  # 计算顺时针移动的度数
        turtle.right(90)
        for _ in range(petal_num):
            turtle.forward(flower_size / 2)
            turtle.right(360 / petal_num)
        turtle.left(90)
    turtle.done()

main.py:

import flowers

flowers.flower(60)  # 画60朵花

这只是一个参考,有什么意见可以说一说。(不过我可能很少能回答,哈哈φ(>ω<*) )

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值