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

# 1)打印一个星号 

  
print('*')
View Code

#2)打印一行6个星号

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

#3)打印6列星号

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

#4)打印6行6列

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

 #5)打印金字塔

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

#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()
View Code

#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()
View Code
原文地址:https://www.cnblogs.com/liangzhenghong/p/10775623.html