目前,我有一个输出星号三角形的代码,如下所示:
*
* *
* * *
* * * *
* * * * *
下面是它的代码:
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()
现在,我如何使用/修改上面的代码来使三角形看起来像这样:
*
* *
* * *
* * * *
* * * * *
有什么建议吗?
发布于 2018-07-18 03:24:54
使用字符串方法str.rjust
>>> 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
*
* *
* * *
* * * *
* * * * *
发布于 2021-10-29 19:55:11
如果你想反转和颠倒它,你可以使用这个:
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()
发布于 2018-07-18 03:35:29
下面是一个函数,它可以以任何一种方式完成此操作:
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)
https://stackoverflow.com/questions/51388808
复制相似问题