python打印星号三角形图案

python打印星号三角形图案

1.打印一个左下三角图形

# 输出结果
*  
**  
***  
****  
*****  
******  
*******  
******** 

代码实现:

# 输入行数,打印一个左下三角图形
def triangle(row):
    mystring = '*'
    for i in range(row):
        for j in range(i+1):
            print('*',end='')
        print('')

row = int(input())
triangle(row)

这个可以说是非常简单了,就是两层循环,一层控制行,另一层控制*的个数,很容易就可以输出一个下三角。

2.打印一个右下三角图形

# 输出结果
       *
      **
     ***
    ****
   *****
  ******
 *******
********

代码实现:

# 输入行数,打印一个右下三角图形
def triangle(row):
	mystring = '*'
    for i in range(row):#行数 
        print((mystring*(i+1)).rjust(row))

row = int(input())
triangle(row)

这里其实也可以用前面的方法实现,不过我觉得有点麻烦了,所以直接使用了python的一个内置函数rjust即让字符串右对齐,设置好字符串以后直接用倍数重复输出*号就可以了,因为i在range函数中是从0开始,所以+1就好了。
因为要打印的右下三角的最后一行的星号个数刚好就是行数,所以rjust右边括号里的宽度就填上行数row了。

3.打印一个等腰三角形

# 输出结果
       *  
      ***  
     *****  
    *******  
   *********  
  ***********  
 *************  
***************

代码实现:

# 输入行数,打印一个等腰三角形
def triangle(row):
	mystring = '*'
    for i in range(row):
        print((mystring*(1+2*i)).rjust(row+i))

row = int(input())
triangle(row)

这个的话,我原本打算的是跟第二题一样,然后直接把str.rjust()换成str.center()函数就愉快地结束,结果图形是出来了,万万没想到差就差在她的这个图案的右边是没有空格的。。。而一看我的,一堆空格。。。
最后也很简单,直接还是用回rjust,每一行的右边多打印i个星号,简单了事。

小小菜鸡刚开始学python,如有不对敬请谅解,同时也欢迎指出我的错误,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值