知识点: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()
输出
将%还成空格输出