点击上方“科技学堂”订阅最新科技教育信息

循环是计算机程序中最基础的控制方法,在Python学习中,熟练使用循环语句是非常重要的。“Python轻松学”课程我们展示了用循环语句生成从1数到100的方法,“Python-Turtle图形编程入门”课程我们学习了用循环语句生成奥运五环和棋盘格子的方法。

在“Python-Turtle图形编程入门”课程中,我们已经可以绘制图形了。除了像turtle这种第三方的扩展包,我们怎么只用Python自身功能绘制图形?接下来我们就用在“Python轻松学”中学过的一个知识点循环来完成图形的绘制,让你看到一个不一样的循环。本次案例IDE为eclipse,输出为eclipse的控制台。

案例1:打印三角形

这里我们使用键盘上的”*”号来实现三角形的绘制,通过一些算法,我们可以让*组成一个三角形的图案,那么代码如何实现呢?

其实代码跟“Python轻松学”课程中学习到的代码并没有什么区别,也没有新的内容,我们只是通过2个for循环的嵌套来实现对三角形图形的控制。在代码注释的地方,标注了每一个循环的作用,通过这种简单的控制算法,我们就能使用Python原生的代码来绘制图形了。这也算是循环的进阶用法—算法控制。

画出来了等腰直角三角形,接下来我们将难度提升一下,打印一个菱形:

案例2:打印空心菱形:

是不是有点复杂?其实也不难。我们只需要将这个图形拆开就会发现一个菱形是有2个等腰三角形组成的,这2个等腰三角形共用一个底边:

那么我们在写代码的时候也可以分开来写,先画出上面的等腰三角形,然后将代码中的算法整个反转,下面的等腰三角形就出来了:

这里的代码要比刚才化直角三角形要复杂了,因为多了一个循环,大家观察一下,多出来的这个循环的作用是什么呢?

仔细观察,第一个直角三角形其实是一个实心的三角形,而这个菱形是一个空心的。所以,多出来的循环的作用大家应该知道是干嘛用了,它的功能是就是遍历每一个格,然后控制是否是空心的。

半个菱形画出来了,那么下面的部分是不是也简单了呢?只要将算法反转就可以了:

需要注意的是算法反转不光是逻辑层面的,循环的条件的部分也需要调整哦。

这样菱形就画出来了,是不是也不难?只要把循环部分的算法弄明白了画图还是很容易的事。既然画出来了菱形,那么在这给大家一个小任务,将刚才的菱形的图案,倒过来,变成这样:

同样的还是跟刚才一样,将菱形切割 变成2个三角形然后分别画出来就好了。想一想,你会怎样用程序画出图形呢?

通过案例我们可以看到,循环的作用不仅仅是简单的从1数到100 。还可以在数数的过程中,配合其他的代码来达到不同的执行结果。那么除了循环以外,还有那些程序中的技能有我们所不知道的功能呢?答案将在下期揭晓~。

如果你对Python学习有兴趣,别忘了点下面小程序报名学习课程哦

  • 借助Python turtle,了解计算机绘图的坐标系

  • 为什么说Python是人工智能的第一语言

科技学堂

科技辅导员在线学习平台

微信号:sciclass

Python代码画喜羊羊怎么画_Python画图的这几种方法,你学会了吗相关推荐

  1. python导入自己写的函数_Python导入模块的几种方法

    Python 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代 ...

  2. python urllib下载文件怎么停止_python下载文件的三种方法

    Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件.此外Python还提供了另外一种方法 ...

  3. python 获取csv的列数_Python读取excel的两种方法

    excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...

  4. python 画图 线标注_Python画图的这几种方法,你学会了吗

    点击上方"科技学堂"订阅最新科技教育信息 循环是计算机程序中最基础的控制方法,在Python学习中,熟练使用循环语句是非常重要的."Python轻松学"课程我们 ...

  5. python中质数的表达方式_python求质数的3种方法

    本文为大家分享了多种方法求质数python实现代码,供大家参考,具体内容如下 题目要求是求所有小于n的质数的个数. 求质数方法1: 穷举法: 根据定义循环判断该数除以比他小的每个自然数(大于1),如果 ...

  6. python代码:基于强化学习的智能电网的动态定价方法 摘要:提出了一种考虑服务提供商(SP)利润和用户(CUs)成本的分级电力市场中能量管理的动态定价DR算法

    python代码:基于强化学习的智能电网的动态定价方法 摘要:提出了一种考虑服务提供商(SP)利润和用户(CUs)成本的分级电力市场中能量管理的动态定价DR算法. 使用强化学习(RL)描述分层决策框架 ...

  7. python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  8. python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  9. Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)

    Python进阶之使用Scrapy实现自动登录Github的两种方法 1. 通过.FormRequest()实现登录github github1.py 2. 通过.FormRequest.from_r ...

  10. Python代码原来还可以这样玩——画出不同人物效果图,感觉很美好

    看到不少人都在用Python(大多是turtle库)绘制各种图,感觉很哇塞,就稍微整理了下觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) 小猪佩奇 效果图: #!/usr/bin/env ...

最新文章

  1. fileviewpro绿色免安装版
  2. VTK:可视化之ReverseAccess
  3. 【CMD】管道符(|)
  4. 统计表格 + 可视化 ,这个超强绘图技巧值得一看!!
  5. javafx 打开新窗口_新的JMetro JavaFX 11兼容版本
  6. 五岁的时候,你在干什么?
  7. 主分区活动分区扩展分区逻辑分区
  8. NGUI_2.6.3_系列教程六(序列帧动画)
  9. DeepWalk:图网络与NLP的巧妙融合
  10. codeforces 459 E. Pashmak and Graph(dp)
  11. sprint演示会议
  12. 下周递交上市申请,腾讯持股的微医投资价值几何?
  13. 【Python表白代码】“情话都是我抄来的,想说给你听是真的。”情人节快乐~
  14. 如何设置Google浏览器支持跨域
  15. 微信二次开发html,基于mvc的微信二次开发c#源代码
  16. 谷歌翻译退出,idea谷歌翻译无法使用(解决)
  17. To https://gitee.com/xxxx/gittest.git解决方案
  18. 如何把Excel表格显示到邮件正文里?
  19. linux awk命令详解(一) awk语法 awk运算 awk数组
  20. Linux虚拟机配置NAT模式上网时,ping不通百度等网站但能ping通局域网ip解决办法

热门文章

  1. 什么是4k视频分辨率
  2. 【数字预失真】基于Volterra级数的宽带射频功放数字预失真线性化技术matlab仿真
  3. HTTP的请求方法OPTIONS
  4. 分享解决jar包冲突问题的方法:(看了这个你就能解决所有包冲突问题!)
  5. Python之使用代理服务器访问网页
  6. FLOPS-定义每秒浮点运算次数
  7. zfs编译之后,内核模块没更新的解决方案
  8. 神舟Z7-KP7SC笔记本电脑-游戏实机帧数截图与鲁大师跑分
  9. NPM => npm登录-发包-删包-整体流程
  10. 居然打不开msi文件?