2

我正在学习 Python,只是想弄清楚如何打印"*"由破折号分隔的多个字符,但用户可以更改星号和破折号的数量。

这是我到目前为止所拥有的:

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

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

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

*--*--*
4

4 回答 4

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

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

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

['*']*n在这里创建一个列表,现在我们将这个列表解压缩为print()using*和 use '-'*mas sep.:

>>> ['*']*n
['*', '*', '*']
于 2013-09-28T04:53:25.787 回答
1
>>> sep = '-'
>>> n = 11
>>> print sep.join('*'*n)
*-*-*-*-*-*-*-*-*-*-*
于 2013-09-28T04:56:57.673 回答
0
sep=("".join(["-"] * m))
print(sep.join(["*"] * n))

n数量*和之间的* m数量-

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

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

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

*--*--*
于 2013-09-28T05:02:11.373 回答
-1

这也不错:

print ('-'*m).join(['*']*n)
于 2013-09-28T04:56:20.853 回答