三角形类型
- 直角右下角的三角形
印以下图形
审题:
通过计算"*"的个数可以发现每一行依次递增1个"*"
根据"*"个数和空格个数的关系可以设它的行数为i,则每一行有:
i个"*",则每一行有(10-i)个空格
在python中 用代码表示:
方法一:
for i in range(10): print(" " * (10- i)+"*" * (i))
方法二:
分别用两次for循环进行空格和星号的遍历打印
for i in range(10): print(" " * (9- i), end=" ")//根据星号和1空格元素数量之和为10进行打印 print("*" * (i + 1))
- 直角右上角的三角形
根据星号和空格数量关系
for i in range(10): print("*" * (10-i)) print(" " * (i),end=" ")
- 直角左下角的三角形
for i in range(10): print("*" * (i+1),end=" ") print(" " * (10-i))
- 直角左上角的三角形
for i in range(10): print("*" * (10-i),end=" ") print(" " * (i+1))
- 等腰三角形
for i in range(10): print(" " * (9-i),end=" ") print("*" * (2*i+1))
- 等边三角形
-
for i in range(10): print(" " * (9- i),end=" ") print(" *" * (i))
- 菱形
-
方法一:
for i in range(0,10):#通过for循环循环10次按照图片中的规律打印出星号和空格组成上三角形 print(' '*(10-i)+'*'*(2*i+1)) for i in range(2,11): #代码中循环的起始值为2,是因为在这个倒立的菱形图案中,最上面一行只有2个空格。 # 如果从1开始循环,那么最上面一行将不会有空格。 print(' '*i + '*'*(21-i*2)) #通过观察可以发现,空格的数量和星号的数量之和始终为21。 # 这是因为在这个倒立的菱形图案中,每行的字符总数是固定的,而且空格和星号的数量是相互关联的。 # 当 i 增加时,空格的数量增加,星号的数量减少,保持总数不变。因此,可以通过 21-i*2 计算出每行星号的数量。
方法二:循环语句和条件判断语句相结合
for i in range(0,21): if i <=10: print(' '*(10-i)+'*'*(2*i+1)) if i >10: if i == 20:#如果i等于20,表示已经打印到最后一行 print(' '*10 + '*'*1) break print(' '*(i%10) + '*'*(21-(i%10)*2))#如果i大于10且不等于20,打印一行由空格和星号组成的图形。空格的数量是i模10的结果,星号的数量是21减去空格数量的两倍。这样就形成了一个递减的倒三角形图形。