python打印星号三角形图案
educoder的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,如有不对敬请谅解,同时也欢迎指出我的错误,谢谢
更多推荐
已为社区贡献1条内容
所有评论(0)