我有以下代码:
print(*[((i+1) * '*' + '\n') for i in range(rows)])
产生输出:
*
**
***
****
*****
所需的输出是:
*
**
***
****
*****
坚持一条线,怎么办呢?我尝试使用.strip(' ')
,如此:
print(*[((i+1) * '*' + '\n').strip(' ') for i in range(rows)])
但它会产生相同的结果。与.replace(' ', '')
答案 0 :(得分:2)
将sep
参数作为空字符串传递:
>>> print(*[((i+1) * '*' + '\n') for i in range(rows)], sep='')
*
**
***
****
*****
或者在打印前使用'\n'.join
构建字符串:
>>> print('\n'.join((i+1) * '*' for i in range(rows)))
*
**
***
****
*****
答案 1 :(得分:1)
您可以通过两种方式获得所需的输出。如果你坚持使用参数扩展(" splat运算符"),你可以传递sep=''
。或者,您可以使用join
构建所需的字符串:
print('\n'.join((i+1) * '*' for i in range(rows)))