我正在尝试打印这样的东西
*
* *
* * *
* * * *
这是我的代码
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")
我指的是question,但我无法做到这一点。 你能帮帮我怎样才能实现这个目标? 谢谢
答案 0 :(得分:4)
示例:
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
答案 1 :(得分:1)
或类似的东西也可能有效:
>>> 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)
^
^^
^^^
^^^^
^^^^^
^^^^^^
^^^^^^^
^^^^^^^^
^^^^^^^^^
^^^^^^^^^^