使用打印功能的“sep”参数打印用短划线分隔的“*”字符

时间:2013-09-28 04:50:17

标签: python python-3.x

我正在学习Python,只是试图找出如何打印由短划线分隔的多个"*"字符,但这样可以让用户更改星号和短划线的数量。

这是我到目前为止所做的:

print('*' * n, sep = '-' * m)

其中n和m是整数。但它并没有真正发挥作用。

我想要的结果(如果n = 3且m = 2)是:

*--*--*

4 个答案:

答案 0 :(得分:4)

>>> print(*['*']*n, sep='-'*m)
*--*--*

对于单个字符,这也可以使用:

>>> print(*('*'*n), sep='-'*m) #this can fail if you use `'**'` instead of `'*'`
*--*--*

['*']*n在此处创建一个列表,现在我们使用print()将此列表解压缩到*,并使用'-'*m作为sep。:

>>> ['*']*n
['*', '*', '*']

答案 1 :(得分:1)

>>> sep = '-'
>>> n = 11
>>> print sep.join('*'*n)
*-*-*-*-*-*-*-*-*-*-*

答案 2 :(得分:0)

sep=("".join(["-"] * m))
print(sep.join(["*"] * n))

n*以及* m-

之间的数量

n=5m=4给出以下模式。

*----*----*----*----*

n=3m=2给出以下模式。

*--*--*

答案 3 :(得分:-1)

这也不错:

print ('-'*m).join(['*']*n)