Python:打印各个方向的直角三角形

 打印直角三角形,主要用到的是for循环,只要for循环用的溜,什么图形都不是事.

首先,打印最简单的一个:

*
* *
* * *
* * * *   来分析一下,第一行有一列,第二行两列,第三行三列,以此类推,第n行有n列.
def zhijiaosanjiao1(n):
    for i in range(1,n+1):#行
        for j in range(1,i+1):#列
            print("*",end=' ')
        print()
zhijiaosanjiao1(4)

或者,更简单的是:

def hh2(n):
    for i in range(1,n+1):#行和列都是同时增加的
        print('* '*i)
    print()
hh2(4)

第二种直角三角形:

      *
    * *
  * * *
* * * *
和之前的三角形一样,n行有n列,不同的是*号的位置改变了。第一行的*在第四列,第二行的*在第三,四列,第三行的在二,三,四列,可以发现,行+列的值小于或等于4的输出的都是空格,大于的输出的都是*。

def zhijiaosanjiao2(n):
    for i in range(1,n+1):#横轴
        for j in range(1,n+1):#竖轴
            if i+j<=n:
                print(' ',end=' ')
            else:
                print('*',end=' ')
        print()
zhijiaosanjiao2(4)

第三种:

* * * *
* * *  
* *    
*       第一行有4列,第二行3列,第三行2列,第四行1列。列数为n减去行数+1
 

def zhijiao(n):
    for i in range(1,n+1):
        for j in range(1,n-i+2):
            print('*',end='')
        print()
zhijiao(3)

第四种:

* * * *
  * * *
    * *
      *

def zhijiaosanjiao6(n):
    for i in range(1,n+1):
        for j in range(1,n+1):
            if j


 

 

你可能感兴趣的:(Python)