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(),搞不懂方向的可以把箭头显示出来,方便一些。
设置画笔的速度和粗细:
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画花相关推荐
- python用turtle画月亮_使用Python的turtle画小猪乔治和哆啦 A 梦
本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...
- python画小猪乔治动画片全集_使用Python的turtle画小猪乔治和哆啦 A 梦!附源码!...
本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...
- 用Python的turtle画一只小猪乔治【刚学python两天,纪念一下】
本人是新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治[手动比心 by zwx lvmm] [女朋友很喜欢小猪乔治,我在学习python,她说,那你会画小猪乔治了吗? ...
- 用python 画炫酷的图并讲解-使用Python的turtle画炫酷图形
原标题:使用Python的turtle画炫酷图形 例子一: import turtle t = turtle.Pen() turtle.bgcolor("black") sides ...
- python中用turtle画爱心表白
python中用turtle画爱心表白 运行后的效果图: 下面的代码是在python3.7写的,代码有点长,但却语法简单易懂 代码如下: import turtle str = input('请输入表 ...
- python画椭圆turtle_python之turtle画蚊香,python用turtle画圆弧,原理:利用turtl
python之turtle画蚊香,python用turtle画圆弧,原理:利用turtl 原理:利用turtle绘制圆形,并使圆半径逐步增加 代码如下:import turtleturtle.pens ...
- 用Python的turtle画出beautiful四扇风车图
一.简单了解turtle 1.turtle是什么? 这里引用Python官方文档的片段: 海龟绘图 海龟绘图很适合用来引导孩子学习编程. 最初来自于 Wally Feurzeig, Seymour P ...
- 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 ...
- python用turtle画出给定图片的图像
python用turtle画出给定图片的图像.校徽等复杂图像都可以 需要: 1.要画的图片 2.安装好cv和turtle 打开python文件,把想画的图片放到和py文件同目录,代码中默认图片名字为1 ...
最新文章
- 转-OpenJDK源码阅读导航跟编译
- 2015年 第6届 蓝桥杯 Java B组 省赛解析及总结
- 002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)
- matlab 获取视频图像的信息
- 真香!8 行代码搞定最大子数组和问题
- redis缓存数据的流程
- stm32经典笔试题_嵌入式面试经典30问
- 20191019:(leetcode习题)第K个语法符号
- installanywhere打包过程(openproj版)
- linux svn 界面客户端,Linux系统下带图形界面SVN客户端安装过程(Esvn RapidSvn)
- java倒叙遍历list
- 今晚开启公募的雪崩协议,带协议层先进入3.0
- 数据的正态分布验证和方差齐性检验
- 【已解决】模拟人生4(Sims4) 启动失败 orangeEmu.dll及应用程序错误0x0000142
- 面试官:你能说说Ribbon的负载均衡策略及原理嘛?
- 单机java_java实现单机版五子棋小游戏
- vue的ref,mounted和this.$nextTick
- 构造方法、String类、集合
- 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(3)暴力破解目录与文件位置
- PROTEL 99 常用库文件分立元件库和快捷键
热门文章
- Python:浮点数保留小数位数的方法整理
- 社区app小程序开发功能
- 关于支付宝的免签支付技术
- KT6368A国产蓝牙BLE芯片驱动程序硬件注意事项
- [JZOJ5909]【NOIP2018模拟10.16】跑商【圆方树】【树链剖分】
- IR Cut Filter主要作用分别是什么?_手游礼包对玩家、媒体、CP的主要作用分别是什么?...
- [源码和文档分享]Qt实现的宠物小精灵对战游戏阶段一-宠物小精灵的加入
- Linux解压命令大全
- Cocos 2d-x CocoaChina开发者沙龙(上海站)现场放送!
- dbus客户端使用指南