如何在Python中忽略下一行

8 浏览
0 Comments

如何在Python中忽略下一行

我尝试打印出像这样的东西

*
* *
* * *
* * * *

这是我的代码

while 1:
    n=int(input("Enter the N"))
    if n<3:
        print("Wrong Input")
        continue
    else:
        for i in range(1,n+1):
            for j in range(1,i+1):
                print("x")

我参考了这个问题,但我无法实现这个。

你能帮我吗?我该如何实现这个?

谢谢

admin 更改状态以发布 2023年5月21日
0
0 Comments

或者像这样也可能起作用:

>>> n = 5
>>> s = '\n'.join('*' * i for i in range(5))
>>> print(s)
*
**
***
****

或者将其包装在函数定义中,并使用任何您需要的字符以及任何您需要的数字:

>>> def my_print(c, n):
        s = '\n'.join(c * i for i in range(n+1))
        return s
>>> my_string = my_print('^', 10)
>>> print(my_string)
^
^^
^^^
^^^^
^^^^^
^^^^^^
^^^^^^^
^^^^^^^^
^^^^^^^^^
^^^^^^^^^^

0
0 Comments

示例:

for i in range(5): 
     print('* '* i)
*
* *
* * *
* * * *

编辑

或者你可以使用更快的map函数:

print('\n'.join(map(lambda x: '* ' * x, range(5))))

计时

In [25]: %timeit print('\n'.join(map(lambda x: '* ' * x, range(5))))
1000 loops, best of 3: 289 us per loop
In [26]: %timeit for i in range(5): print('* '*i)
1000 loops, best of 3: 444 us per loop

0