python 画图 线标注_Python画图的这几种方法,你学会了吗
点击上方“科技学堂”订阅最新科技教育信息
循环是计算机程序中最基础的控制方法,在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画图的这几种方法,你学会了吗相关推荐
- python安装gdal包_python安装gdal的两种方法
1.不用手动下载文件,直接执行以下命令即可 conda install gdal 2.首先,下载gdal的whl文件 链接, 官网下载比较慢,GDAL-2.2.4-cp27-cp27m-win_am ...
- python包导入方式_python导包的几种方法(自定义包的生成以及导入详解)
python 导入数据包的几种方法 1.直接导入整个数据包:improt 数据包 2.导入数据包中的某一个函数: from 数据包 improt 函数(当函数这一项为 * 时为导入整个数据包) 3. ...
- python字符串成熟编码_python字符串转公式两种方法获取网页编码python版
在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...
- python如何删除代码_Python列表删除的三种方法代码分享
1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> prin ...
- python里的拼接_Python拼接字符串的7种方法总结
前言 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 在Python中,我们经常会遇到字符串的拼接问题,几乎任何一种编程语言,都把字符串列为最基 ...
- python怎么复制字符串_python字符串复制的几种方法
>>> list1 = [1,2] >>> id(list1) 50081032 >>> list2 = list1.copy() >> ...
- python求素数积_python求质数的3种方法
本文为大家分享了多种方法求质数python实现代码,供大家参考,具体内容如下 题目要求是求所有小于n的质数的个数. 求质数方法1: 穷举法: 根据定义循环判断该数除以比他小的每个自然数(大于1),如果 ...
- python解复杂方程_Python 解方程的三种方法
# 首发于我的博客 The North. 新年第一篇,搞起. 这回写一个好久之前想做,一直搁着没做的东西-- Python 解方程(其实是放假回家,趁着家里电脑重装 LOL 的时间过来写一篇). 咱这 ...
- python 发邮件 抄送_Python发送email的3种方法
python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送 ...
最新文章
- python_day2基本数据类型
- Java集合总结【面试题+脑图】,将知识点一网打尽!
- hbuilder前端需要的插件_最新web前端学习路线
- hadoop关闭安全模式
- 【编程】char unsigned int float double long 字节数
- 回溯法之避免无用判断 UVA129 Krypton Factor困难的串
- bower overrides 配置
- LeetCode 1418. 点菜展示表(哈希map)
- MAC下安装与配置MySQL [转]
- linux 重复模式元字符,Linux 正则表达式 vi, grep, sed, awk
- Cocos2d-xJson数据解析(读取和写入)
- 合影效果java_6个姿势,教你拍好合影
- excel填充序列_excel填充序列不见了怎么办-excel
- 4.1 c++左值和右值、类型转换
- Matlab命令行乱码问题
- MySQL数据类型之数值型
- mysql 视图调用存储过程_MySQL视图、存储过程
- 备份Linux系统(通用)
- 软件包pdftex.def错误:找不到文件`./filename-eps-converted-to.pdf‘
- 如何巧妙的申请换部门_换部门申请书
热门文章
- 使用EditPlus 删除文本文件中多余的空行 和 EditPlus 选择列
- 在xcode4中使用cocos2d 2.x很顺利的
- 《 郝斌 java自学视频 完结 》_《[郝斌]Java自学视频[完结]》AVI[压缩包]
- 1.2 什么是神经网络-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
- 玩转Mixly – 5、Arduino AVR编程 之 逻辑
- jtag和swd的区别
- android:persistent属性
- 【PC工具】chrome浏览器插件vimium:传说上网可以不用鼠标。VIM入门工具,妈妈再也不用担心我学不会vim了...
- STM32的ISP升级详解
- 【Connection Events】【BLE】【原创】