语言:

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(),搞不懂方向的可以把箭头显示出来,方便一些。

设置画笔的速度和粗细:

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 randef 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 flowersflowers.flower(60)  # 画60朵花

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

python之turtle画花相关推荐

  1. python用turtle画月亮_使用Python的turtle画小猪乔治和哆啦 A 梦

    本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...

  2. python画小猪乔治动画片全集_使用Python的turtle画小猪乔治和哆啦 A 梦!附源码!...

    本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...

  3. 用Python的turtle画一只小猪乔治【刚学python两天,纪念一下】

    本人是新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治[手动比心 by zwx lvmm] [女朋友很喜欢小猪乔治,我在学习python,她说,那你会画小猪乔治了吗? ...

  4. 用python 画炫酷的图并讲解-使用Python的turtle画炫酷图形

    原标题:使用Python的turtle画炫酷图形 例子一: import turtle t = turtle.Pen() turtle.bgcolor("black") sides ...

  5. python中用turtle画爱心表白

    python中用turtle画爱心表白 运行后的效果图: 下面的代码是在python3.7写的,代码有点长,但却语法简单易懂 代码如下: import turtle str = input('请输入表 ...

  6. python画椭圆turtle_python之turtle画蚊香,python用turtle画圆弧,原理:利用turtl

    python之turtle画蚊香,python用turtle画圆弧,原理:利用turtl 原理:利用turtle绘制圆形,并使圆半径逐步增加 代码如下:import turtleturtle.pens ...

  7. 用Python的turtle画出beautiful四扇风车图

    一.简单了解turtle 1.turtle是什么? 这里引用Python官方文档的片段: 海龟绘图 海龟绘图很适合用来引导孩子学习编程. 最初来自于 Wally Feurzeig, Seymour P ...

  8. python之Turtle 画星星和樱花

    python之Turtle 画星星和樱花 1. 樱花 1.1 基础版 1.1.1 基础版效果图 1.1.2 主要算法 1.1.3 完整代码 1.2 升级版 1.2.1 效果图 1.2.2 主要算法 1 ...

  9. python用turtle画出给定图片的图像

    python用turtle画出给定图片的图像.校徽等复杂图像都可以 需要: 1.要画的图片 2.安装好cv和turtle 打开python文件,把想画的图片放到和py文件同目录,代码中默认图片名字为1 ...

最新文章

  1. 转-OpenJDK源码阅读导航跟编译
  2. 2015年 第6届 蓝桥杯 Java B组 省赛解析及总结
  3. 002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)
  4. matlab 获取视频图像的信息
  5. 真香!8 行代码搞定最大子数组和问题
  6. redis缓存数据的流程
  7. stm32经典笔试题_嵌入式面试经典30问
  8. 20191019:(leetcode习题)第K个语法符号
  9. installanywhere打包过程(openproj版)
  10. linux svn 界面客户端,Linux系统下带图形界面SVN客户端安装过程(Esvn RapidSvn)
  11. java倒叙遍历list
  12. 今晚开启公募的雪崩协议,带协议层先进入3.0
  13. 数据的正态分布验证和方差齐性检验
  14. 【已解决】模拟人生4(Sims4) 启动失败 orangeEmu.dll及应用程序错误0x0000142
  15. 面试官:你能说说Ribbon的负载均衡策略及原理嘛?
  16. 单机java_java实现单机版五子棋小游戏
  17. vue的ref,mounted和this.$nextTick
  18. 构造方法、String类、集合
  19. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(3)暴力破解目录与文件位置
  20. PROTEL 99 常用库文件分立元件库和快捷键

热门文章

  1. Python:浮点数保留小数位数的方法整理
  2. 社区app小程序开发功能
  3. 关于支付宝的免签支付技术
  4. KT6368A国产蓝牙BLE芯片驱动程序硬件注意事项
  5. [JZOJ5909]【NOIP2018模拟10.16】跑商【圆方树】【树链剖分】
  6. IR Cut Filter主要作用分别是什么?_手游礼包对玩家、媒体、CP的主要作用分别是什么?...
  7. [源码和文档分享]Qt实现的宠物小精灵对战游戏阶段一-宠物小精灵的加入
  8. Linux解压命令大全
  9. Cocos 2d-x CocoaChina开发者沙龙(上海站)现场放送!
  10. dbus客户端使用指南