三角形类型
- 直角右下角的三角形
印以下图形
审题:
通过计算"*"的个数可以发现每一行依次递增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减去空格数量的两倍。这样就形成了一个递减的倒三角形图形。