首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中反转星号三角形?

如何在python中反转星号三角形?
EN

Stack Overflow用户
提问于 2018-07-18 03:20:49
回答 6查看 1.6K关注 0票数 3

目前,我有一个输出星号三角形的代码,如下所示:

代码语言:javascript
复制
* 
* * 
* * * 
* * * * 
* * * * * 

下面是它的代码:

代码语言:javascript
复制
num = int(input("Enter the number of rows: "))
for i in range(1,num+1):
    for j in range(1,i+1):
        print("*",end=' ')
    print()

现在,我如何使用/修改上面的代码来使三角形看起来像这样:

代码语言:javascript
复制
        *
      * *
    * * *
  * * * *
* * * * * 

有什么建议吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-07-18 03:24:54

使用字符串方法str.rjust

代码语言:javascript
复制
>>> num = int(input("Enter the number of rows: "))
>>> for i in range(1, num + 1):
...     print(" ".join("*" * i).rjust(num * 2 - 1))
Enter the number of rows: 5
        *
      * *
    * * *
  * * * *
* * * * *
票数 6
EN

Stack Overflow用户

发布于 2021-10-29 19:55:11

如果你想反转和颠倒它,你可以使用这个:

代码语言:javascript
复制
num = int(input("Enter the number of rows: "))

for i in range(1, num + 1):
for j in range(1, num + 1):
    if i > j:
        print(' ', end=' ')
    else:
        print('*', end=' ')
print()
票数 1
EN

Stack Overflow用户

发布于 2018-07-18 03:35:29

下面是一个函数,它可以以任何一种方式完成此操作:

代码语言:javascript
复制
def tristar(n,rev=False):
    for i in range(1,n+1):
        if rev:
            s = ' ' * (n-i) + '*' * i
            print(s)
        else:
            s = '*' * i
            print(s)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51388808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档