python图形绘制花朵代码,如何用python画一朵花

本篇文章给大家谈谈python图形绘制花朵代码,以及如何用python画一朵花,希望对各位有所帮助,不要忘了收藏本站喔。

      上一节讲了一些Python编程的一些基础知识,从这节开始,我们将跟随一些实际的小程序示例,进入正式的编程学习。
      下面我们就来介绍一下今天这个只有10行代码的小程序,先来看一下它的运行效果,程序运行起来可以看到一只小乌龟在窗口中爬来爬去,当爬回到起点的时候形成一个黄色的多角星形状,像是一朵黄色的花朵Python中的所有运算符号。如下图所示:


       来看一下在这个小程序中我们用到的知识,主要用到了标准库中的turtle模块,while循环和if条件判断语句。

 1、turtle库简介

turtle这个英文单词汉语意思是海龟,turtle库是turtle绘图体系python的实现;
turtle库绘图原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等;

小知识:
turtle绘图体系:1969年诞生,主要用于程序设计入门;turtle库是python的标准库之一;属于入门级的图形绘制函数库。
说明:python计算生态=标准库+第三方库:
标准库:是随解释器直接安装到操作系统中的功能模块;
第三方库:需要经过安装才能使用的功能模块;
库library、包package、模块module统称为模块。

2、本节示例小程序讲解

        下面我们试着让这只小海龟画一画,我们先创建一个名字为t1.py的文件,文件头的写法在上节基础知识中已经做了介绍,这里不再重复,在Python中要让这只海龟出现在画布上,要先用import 关键字导入这个库,然后才能使用,我们让它来画一条直线,代码如下:

#!/usr/bin/env python
# -*- coding : utf-8 -*-
# Copyright (C) 2011-2020 BowenCentury
# All right reserved.
# 文件名称:t1.py
# 摘    要:
# 作者:fantastico
# 创建日期:2021-12-06 13:09:38
# 修改记录:
10 ##
import turtle
turtle.setup(640, 480)  #创建一张640x480大小的画布,不调用此函数,则创建一个默认窗口
turtle.shape("turtle")  #设置光标形状为一只小海龟
turtle.forward(100)     #forward是让海龟向前行进的函数,可以简写为fd(),类似的函数还有
                        #backward()/bk()让小海龟后退,goto(x,y),
                        #让小海龟走到画布中x,y坐标对应的位置等

turtle.done()           #画图结束,停止绘制

执行就会看到下面的窗口中,一只小乌龟向右爬了一小段距离。如下图:

 

turtle函数前进后退等方向说明: 

       如果这时候我们想让小海龟向左爬,可以用turtle.left()函数,让他向左转,如果想象右,可以用turtle的right()函数。我们现在让小海龟向左转90度,增加一行代码,turtle.left(90),这时候运行程序可以看到,海龟头转向上面了,但是它没有移动,如果想让他向上爬,那就还需要用turtle.forward()函数使它前进。看一下让它转向和向左前进100距离的效果,下面是代码和结果图:

turtle.left(90)
turtle.forward(100)

 

        现在我们已经掌握了小海龟库的基本用法,现在就用它来画出我们开始的时候展示的黄色花朵。做之前我们发现要画这朵花,有一定的规律就是小海龟可以沿着红线从起点一直走,每走一段距离,改变一次方向,向着一个固定大小的夹角的方向前进,直到最后走回起点,图形绘画就完成了。这里如果我们手动一条一条写代码,每次让海龟朝着我们想要的方向前进,一定也可以完成这个图形,但是在开始的时候我说了这个小程序只有10行代码,如何用这么少的代码,让小海龟爬那么多次呢,这里就要用到循环语句while True: 了,这个语句的意思是一直重复执行它下面的语句,直到被中断。我们在画这朵花的时候希望当小海龟爬回起点之后就停止绘画,结束while循环,那么我们怎么才能结束它呢?就要用到if条件判断语句,当回到起点的时候,我们用break语句打破循环,停止绘画。这里在判断是否回到起点的地方用了一个abs()绝对值函数,当海龟绝位置pos()绝对值小于1时,海龟回到了原点,因为x、y坐标都为0,这时调用break语句,即可跳出while循环了。

下面来看看完整的程序代码:

import turtle                   #引入标准库turtle绘画模块
turtle.shape("turtle")          #将光标设置为小海龟形状
turtle.color('red', 'yellow')   #设置绘画的画笔和填充颜色为“红”和“黄”
turtle.begin_fill()             #begin_fill()是填充开始,当调用end_fill()时,为图形着色
while True:                     #循环绘画开始
    turtle.forward(200)         #现在开始让海龟向前爬200距离
    turtle.lt(160)              #让海龟向左转过160度向一个20度的夹角方向准备继续爬行
    if abs(turtle.pos()) < 1: break     #只要它还没跑回原点,就继续上面的爬行和转向运作
turtle.end_fill()               #这时海龟已经跑回原点,整个图形画好,给图形着色
turtle.done()                   #停止绘画

       本节内容就到这里,我们回顾一下本节的内容,我们在画画之前,要先引入工具,就是这个标准库中的基本绘图模块turtle,然后我们通过while循环语句控制小海龟不停的转向、前进……,用if语句在while循环当中判断是否海龟已经跑回起点,当它跑回起点,调用break语句,终止并跳出while循环,完成图形的上色,一朵黄色的花朵就这样画完了,最后的turtle.done()函数停止绘画,并保持窗口,如果不加这句,我们虽然完成了绘画,窗口也会一闪即逝,加上这句,可以使绘画工作停下来,并在窗口中显示当前绘画的结果。

3、知识点总结

(1)turtle库的其他命令函数介绍:

 海龟运动命令:


forward(d):向前移动 d 长度
backward(d):向后移动 d 长度
right(d): 向右转动 d 度
left(d): 向左转动 d 度
goto(x,y):移动到坐标为(x,y)的位置


 笔画控制命令:


speed(d):笔画移动的速度,范围1-10
up() : 画笔抬起,移动时不会在画布上留下痕迹
down() :画笔落下
setheading(d) : 改变海龟的朝向为 d
pensize() : 改变画笔的尺寸大小(宽度)
pencolor() : 改变笔画的颜色
reset() : 回复所有设置,清空窗口,重置turtle
clear() :清空窗口,不重置turtle
circle(r,e): 绘制一个圆形, r :半径    e:次数(数值越大,圆越标准)


注意:颜色填充为以下三个方法一起使用
begin_fill()
fillcolor(colorstr)#填充颜色
end_fill()


 其他命令:


done():保持程序继续运行
undo():撤销上一次动作
hideturtle() :隐藏海龟
showturtle():显示海龟

(2)if条件判断语句和while循环语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
else:
    执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

具体例子如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例1:if 基本用法
 
flag = False
name = 'luren'
if name == 'python':         # 判断变量是否为 python 
    flag = True              # 条件成立时设置标志为真
    print 'welcome boss'     # 并输出欢迎信息
else:
    print name               # 条件不成立时输出变量名称

        Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):
    执行语句(statements)……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假 false 时,循环结束。

while语句动态执行过程如下:

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

# continue 和 break 用法
 
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非双数时跳过输出
        continue
    print i         # 输出双数2、4、6、8、10
 
i = 1
while 1:            # 循环条件为1必定成立
    print i         # 输出1~10
    i += 1
    if i > 10:     # 当i大于10时跳出循环
        break

        下一节,我们将继续学习其他示例小程序,我们将会学习到更多的Python语言语法,下一节我们也将详细详解循环语句、条件判断语句的用法,因为这两个语句是编程语言中用的最多的程序执行逻辑控制方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值