Python 打印矩形、直角三角形、等腰三角形、菱形

时间:2023-03-09 07:33:19
Python 打印矩形、直角三角形、等腰三角形、菱形

# 1)打印一个星号 

  
print('*')

#2)打印一行6个星号

* * * * * * 
for i in range(6):
print('*',end=' ')

#3)打印6列星号

*
*
*
*
*
*
for i in range(6):
print('*')

#4)打印6行6列

* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
for i in range(6):
for j in range(6):
print('*',end=' ')
print()

#5)打印金字塔

*
* *
* * *
* * * *
* * * * *
* * * * * *
分析:     第几行         星号个数
1 1
2 2
3 3
'''
for i in range(1,7):
for j in range(i):
print('*',end=' ')
print()

#6)打印等腰三角形

          *
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
'''
分析: 第几行 星号个数 空格数
0 1 5
1 3 4
2 5 3
3 7 2
n 2n+1 n-1-i
'''
for i in range(6):
for k in range(6-1-i):
print(' ',end=' ')
for j in range(2*i+1):
print('*',end=' ')
print()

#7)打印菱形

           *
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
'''
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
分析:菱形的上半部分已经打印出,下面考虑如何打印下半部分,最上面的11个星号,
已经在上半部分给出,只考虑打印11个星号以下的图形。
第几行 星号个数 空格数
0 9 1
1 7 2
2 5 3
3 3 4
n n+1
利用数学归纳分析星号个数:i+(9-3*i)
行数 星号个数
0 i+9=9 9-3*i=9 i+(9-3*i) =9
1 i+6=7 9-3*i=6 i+(9-3*i) =7
2 i+3=5 9-3*i=3 i+(9-3*i) =5
3 i+0=3 9-3*i=0 i+(9-3*i) =3 ''' for i in range(6):
for k in range(5 - i):
print(" ", end=" ")
for j in range(2 * i + 1):
print("*", end=" ")
print()
for i in range(5):
for k in range(i + 1):
print(" ", end=" ")
for m in range((9 - 3 * i) + i):
print("*", end=" ")
print()