原创 xinxin 菜鸟学Python

阅读本文大概需要3分钟
关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写app,当时觉得非常好玩,那个是时候还是用symbian系统,熬了好几个通宵用j2me写了一个坦克大战,到现在还记得当程序运行的时候坦克互战的情景,真的是蛮兴奋的。
好吧一下子扯远了,我们还是回到正题:我想来想去,决定要找一个好玩有趣的例子来总结,总于被我找到了,这个例子只有20几行代码,非常适合初学者.
我们先来看一下效果图:

1.引入模块
Python标准库里有一个非常有趣可以画画的小模块叫turtle(海龟),我们先引入这个模块
import turtle #从标准库里面引入turtle
def draw_art():
window=turtle.Screen()#获得一个窗口句柄
window.bgcolor("blue")#把背景设为蓝色
window.exitonclick()#当点击一下窗口会自动关闭
draw_art()#调用函数

2.画一个小海龟出来
第一步我们已经把窗口创建好了,你可以认为是一个画布已经ok了,下面我们要让主角登场了,把海龟画出来.
import turtle
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
#创建一个Turtle的实例这里用了类的概念,实例化一个Turtle。类的概念后面文章会讲
brad=turtle.Turtle()
brad.shape("turtle")#形状是一个海龟除了画海龟还可以画箭头,圆圈等等
brad.color("orange")#颜色是橙色
brad.speed('fast')#画的速度是快速
window.exitonclick()#当点击一下窗口会自动关闭
draw_art()#调用函数

3.画一个海龟走两步的图
我们让海龟在图上走100步,然后再往下45度走100步
import turtle
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
brad=turtle.Turtle() #创建一个Turtle的实例
brad.shape("turtle")#形状是一个海龟除了画海龟还可以画箭头,圆圈等等
brad.color("orange")#颜色是橙色
brad.speed('fast')#画的速度是快速
brad.forward(100)#向前走100步
brad.right(45)#然后海龟头向右转45度
brad.forward(100)#继续向前走100步
brad.right(135)#然后有向右转135度
window.exitonclick()
draw_art()#调用函数

4.画出一个菱形
刚才我们已经画来2边,一个完整的菱形还差2边,所以我们只需要把刚才走的路循环一下,把刚才的几步抽象成一个小函数(把代码抽取成一个独立的函数,是重构经常用的技巧)然后循环2次,就搞定了.
import turtle
def draw_diamond(turt):
for i in range(1,3):
turt.forward(100)#向前走100步
turt.right(45)#然后海龟头向右转45度
turt.forward(100)#继续向前走100步
turt.right(135)#然后有向右转135度
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
brad=turtle.Turtle() #创建一个Turtle的实例
brad.shape("turtle")#形状是一个海龟除了画海龟还可以画箭头,圆圈等等
brad.color("orange")#颜色是橙色
brad.speed('fast')#画的速度是快速
draw_diamond(brad)#抽象一个新的函数,专门画菱形
window.exitonclick()
draw_art()#调用函数

5.画出一朵漂亮的花
前面的4步我们已经可以画出一个菱形了,其实这个菱形是我们要画一个花瓣,接着我们主要把菱形向右旋转10度,然后继续画一个花瓣出来,这样循环一周360度,就花出一个漂亮的花了,最后当海龟回到花心的时候,我们把海龟的头向右转90度,花一根长的线就大功告成了.是不是等不急,快来看源码吧
import turtle
def draw_diamond(turt):
for i in range(1,3):
turt.forward(100)#向前走100步
turt.right(45)#然后海龟头向右转45度
turt.forward(100)#继续向前走100步
turt.right(135)#然后有向右转135度
def draw_art():
window=turtle.Screen()
window.bgcolor("blue")
brad=turtle.Turtle() #创建一个Turtle的实例
brad.shape("turtle")#形状是一个海龟除了画海龟还可以画箭头,圆圈等等
brad.color("orange")#颜色是橙色
brad.speed('fast')#画的速度是快速
for i in range(1,37):#循环36次
draw_diamond(brad)#单画一个菱形也就是花瓣
brad.right(10)#旋转10度
brad.right(90)#当花全部花完一周后,把海龟的头向右转90度
brad.forward(300)#花一根长的线
window.exitonclick()
draw_art()#调用函数
然后运行就是开头的图了,是不是很酷啊~~

python海龟交易源码_大部分人都不知道-Python竟能画这么漂亮的花,帅呆了相关推荐

  1. 用python海龟制图画花瓣_Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  2. python turtle画画 30排以内_Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  3. python简单代码画图-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  4. 用python画花瓣-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  5. 用python花猫_Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  6. python四瓣花图形_Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  7. python画简单花的代码_Python竟能画这么漂亮的花,帅呆了(代码分享)

    讨论函数和模块这么久后,我一直想用一个有趣的和有趣的例子总结,同时作为一个实际锻炼.有趣的编程实际上是最好的学习方式.当我刚毕业十多年前,我第一次写在我的手机应用程序的工作.当时,我认为这是非常有趣的 ...

  8. python画简单花-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  9. python画好看的图-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

  10. python创意小作品-Python竟能画这么漂亮的花,帅呆了(代码分享)

    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...

最新文章

  1. form 表单上传文件及传输数据的编码格式
  2. 计算机应用基础任务化教程知识点,计算机应用基础任务化教程教学大纲资料.doc...
  3. 【深度学习】基于深度学习的数据增广技术一览
  4. 一文看尽9篇语义分割最新论文(GPSNet/Graph-FCN/HMANet等)
  5. C++基础09-货物售卖和MyArray实现
  6. Python库:Pyinstaller库、pip工具、pip指定安装源和版本
  7. (自学笔记) 谭浩强 C语言程序设计 第五版 第一章:程序设计和c语言
  8. USB转NRF24L01模块 带UI上位机
  9. 西交学电气还是计算机,上南大还是上西交学电气
  10. linux上ftp上传文件失败
  11. 数据导入与预处理——1.初步熟悉kettle-Spoon
  12. position: sticky 属性
  13. ubuntu禁止指定软件包更新
  14. MySQL错误:Value ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp
  15. 如何清理占用计算机内存,告诉你如何深度清理电脑内存
  16. 【C语言】 输出乘法口诀表
  17. 用户在命令行上发出了EULAS AGREED=1,表示不接受许可协议(虚拟机卸载残留)
  18. 计算机网络的局限性的表现,计算机网络系统的脆弱性有哪些表现
  19. 建立完善的员工晋升机制_员工晋升机制
  20. 【AI视野·今日CV 计算机视觉论文速览 第182期】Fri, 10 Apr 2020

热门文章

  1. VMware中虚拟机Ubuntu访问Windows7主机文件夹的设置流程
  2. 深度学习笔记_卷积神经网络基本概念
  3. 目录_计算机视觉——算法及应用
  4. markdown_Latex各种符号
  5. 轻量级网络模型之EfficientNet
  6. Tensorflow实现VGG网络
  7. Java同步数据结构之Collection-Queue
  8. nodejs 模板引擎ejs的使用
  9. DemoKit编译过程错误
  10. 『摄影欣赏』好萌了!12幅可爱的婴儿照片【组图】