(python基础)各种打印三角形

萌新的自我修养,基础不好就得练,今天正好碰上各种打印三角形,这种题看似很简单,情况稍微变一变,还是挺有意思,就花了点时间整理了一下。总共囊括直角,等腰(分每行为n个和每行为2n+1个),数字三角共三大类的多种情况。
1.直角三角形,这种最简单,for和while皆可,左右上下变换,都是一样的套路,掌握每行要输几个*,变range里的值和‘*’的乘值,或者添加空格。这里举两个例子:
1.1直角三角形左上角

# 直角三角形
def f1(n):
    for i in range(n):

        print('*'*(i+1),end='')

        print('')
f1(5)
*
**
***
****
*****

1.2直角三角形右下角

def f2(n):
    for i in range(n):
        print(' '*(i) + '*'*(n-i),end='')
        print('')
*****
 ****
  ***
   **
    *

2.等腰三角形,这个里面还可以分实心和空心。也比较简单,一个循环,print(’’)划好行,考虑每行要输出什么。空心的话,中间的行两端留,其他空格代。另外每行数量为n还是2n-1需要分开考虑。数量为n需要嵌套for。
2.1每行
数量为2n-1,实心倒立等腰三角

# 实心倒立等腰三角
def f3(n):
    for i in range(n,0,-1):
        print(' '*(n-i) + '*'*(2*i-1),end='')
        print('')
f3(4)
*******
 *****
  ***
   *

2.2每行*数量为2n-1, 等腰空心正立三角

# 等腰空心正立三角
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值