你好 要把第二部分代码反过来打印,比如数字6,输出的应该是等于附图中的这段代码。

问题描述 投票:-1回答:1
n=int(input("type a number:"))
for i in range(n+1):
a ='*'*i
print(a)

这是数字6的输出。

python
1个回答
1
投票

你可以用一个自定义的金字塔模式的生成器来做这样的事

def updown(n):
    yield from range(1, n)
    yield from range(n, 0, -1)

for i in updown(6):
    print(i * '*')


*
**
***
****
*****
******
*****
****
***
**
*

0
投票

可能有更好的方法(反正感觉也没什么用),但这个应该可以。

n=int(input("type a number:"))
i = 0
while i <= n:
    i+=1
    print("*"*i)
while i > 0:
    i-=1
    print("*"*i)




0
投票

你也可以使用类似这样的方法

def pattern(n):
    return list(range(1, n+1)) + list(range(n-1, 0, -1))

>>> for i in pattern(6):
...    print(i * '*')
*
**
***
****
*****
******
*****
****
***
**
*
© www.soinside.com 2019 - 2024. All rights reserved.