Bootstrap

python打印三角形 倒三角形 等腰三角形图解分析过程

知识点:1.利用循环打印*     2.关注i和j的关系   3.嵌套以及二次嵌套    4.range(x,y)左闭右开

一 打印三角形   5.循环考虑的就i j相互之间的关系,i与j是否需要带入循环内部(九九乘法表)

重点 我们前期学习主要学习思路,所以搞不明白就一步一步在纸上写下来

*

**

***

****

分析过程 1.看整体 一共有四行说明“外层”执行四次循环 for i in range(1,5)#左闭右开所以1——5

                2.看每一行  第一行1个*  第二行2两个*  第三行 3个* 第四行 4个*#所以内部循环的关系就是行数“i”是几就循环几次 for j in range(1,i+1)#这里注意是i+1

                3.print()里自带“换行”,内部循环不需要换行所以print(“*”,end=“ ”),内部循环完毕才换行,所以里边的for循环同级别带一个print()

for i in range(1,5):
    for j in range(1,i+1):#初学者容易丢失“:”,这个冒号
        print("*",end="")
    print()

二 打印倒立三角形

****

***

**

*

分析过程  主体思路依然是考虑外部循环与内部循环,内部循环与行数的关系的关系

1.外部循环四次 for i in range(1,5)#回忆一下左闭右开

2.内部循环 第一行4次 第二行3次 第三行2次 第四行1次 我们把他写出来

i=1  ——j=4

i=2 ——j=3

i=3 ——j=2

i=4 ——j=1

一般我们都卡在这里 于是我们转换思维 目前打印行数已知i+j=5,所以j=5-i

for i in range(1,5):
    for j in range(1,-i):
        print("*",end="")
    print()

但是 但是 但是 输出却是

***

**

*

这是为啥呢 左闭右开 

for i in range(1,5):
    for j in range(1,6-i):#这里应该是6
        print("*",end="")
    print()

三 打印等腰三角形——提示可以看作两个三角形构成——二次嵌套

      *

    ***

   *****

  *******

我们可以看成

&&&&&*

&&&&***

&&&*****

&&*******

&*********

分析过程 外层循环5次 for i in range(1,6) 内部循环由两个三角形构成——&组成倒立三角形以及*组成的等腰三角形。

我们先将倒立三角形打印出来

for i in range(1,5):

        for j in range(1,6-i):#这里应该是6

                print("&",end="")

        print()

我们在分析等腰三角形 第一行1个“*”,第二行3个“*”,第三行5个“*”,第四行7个“*”

i=1   *循环=1个

i=2  *循环=3个

i=3. *循环=5个

我们推算一下关系  j=循环乘以2-1也就是2i-1,与&虚幻在同一级别

for i in range(1,5):
    for j in range(1,6-i):
        print("&",end="")
    for k in range(1,2i)#这里不是2i-1的原因就是左开右闭
        print("*",end="")
    print()

输出

将%还成空格输出

;