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<i:
                print(' ',end=' ')
            else:
                print('*',end=' ')
        print()
zhijiaosanjiao6(4)


 

 

  • 10
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值