在正式进行温文默克的学习笔记—Python篇(4)的分享之前,笔者先简单分享一个比较常见的一个例子—等腰三角形的绘制,由于第四篇的内容笔者已经定好,所以暂定本篇为温文默克的学习笔记—Python篇(3.5)。
![e9baed5b2a251450b034e38c713d7543.png](https://i-blog.csdnimg.cn/blog_migrate/f729a4be62b2a694a322dc7c96c2ab05.jpeg)
要实现这个很简单,就是找出每一行的规律,然后使用for循环进行遍历就能做到。以四行的等腰三角为例,第一行一个“*”,第二行三个“*”,第三行五个“*”,第四行七个“*”,仔细观察,我们能够发现这样的规律:
第一行,1 = 2 x 0+1;
第二行,3 = 2 x 1+1;
第三行,5 = 2 x 2+1;
第四行,7 = 2 x 3+1。
知道了这些之后,我们只需要使用for循环就能实现绘制等腰三角
for i in range(4): tu = 2*i+1 print(tu*"*")
不过,只是这样的话绘制出的形状不是等腰三角。
![9b839a4f3c6fd47aedb1465d9353282f.png](https://i-blog.csdnimg.cn/blog_migrate/ed92cf35d815b5fd9e65050a238f020f.jpeg)
造成如此主要是这里忽略了空格的存在。
![c97fac0e90788f338029aeb027e3a1d0.png](https://i-blog.csdnimg.cn/blog_migrate/d0c34b3e2db196a3d1f8a2429bdca31b.jpeg)
因此,在加上空格即可,同时为了让程序不那么死板,这里将行数设置成可自动输入的,方法也很简单,使用input()函数输入想打印的行数,再使用eval()转换成整数,因为input()输入的类型为字符串。
hang = eval(input("输入数字:"))for i in range(hang): tu = 2*i+1 kong = hang - i print(" "*kong + tu*"*")
与此同时,有时候还会遇到等腰三角形的一些变形,笔者这里介绍一种供大家参考。
![a5608c9a47d7ea9c0526139493a2a491.png](https://i-blog.csdnimg.cn/blog_migrate/3c4345f056c82bafd988681b71840242.jpeg)
这个变形的上半部与等腰三角形的绘制是一致的,因此,我们只需要将上半部分与下半部分切割开,找出他们的规律,在分别使用for循环即可,思路如下,这里不详细叙述代码,想尝试的朋友可以自己操作一下。不过有一点需要注意,这种变形是适用于奇数行的,大家在设计代码时注意一下,否则的话可能会有一些出入。
![acf3a3977780402285c1eafc88a5bb85.png](https://i-blog.csdnimg.cn/blog_migrate/972ac66c81528b2f942f32c6914c53cb.jpeg)
关于等腰三角的变形还有很多种,比如空心菱形,类圆……之后有机会的话,笔者也会一一介绍给大家,希望本次的分享能对大家有所启发,祝大家周末快乐~