用python将字符串与数字相乘

2024-05-14 22:41:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一个由特定字符的重复组成的字符串。在Python控制台上,如果我键入:

n = '0'*8

然后n得到一个由8个零组成的字符串,这是我所期望的。

但是,如果我在一个Python程序(.py文件)中有相同的文件,那么程序将中止,并出现一个错误,说
can't multiply sequence by non-int of type 'str'

有办法解决这个问题吗?


Tags: 文件of字符串py程序by键入type
3条回答

我敢打赌你是在用raw_input()来读取将字符串相乘的值。您应该使用input()来读取值,而不是字符串。

您收到错误消息的原因是您试图对非整数值使用乘法运算符。

最简单的方法就是:

>>> n = ''.join(['0' for s in xrange(8)])
>>> n
'00000000'
>>>

或者做这个功能:

>>> def multiply_anything(sth, size):
...     return ''.join(["%s" % sth for s in xrange(size)])
...
>>> multiply_anything(0,8)
'00000000'
>>>

你得到这个错误是因为-在你的程序中-8实际上也是一个字符串。

>>> '0'*8
'00000000'
>>> '0'*'8' # note the ' around 8
(I spare you the traceback)
TypeError: can't multiply sequence by non-int of type 'str'

相关问题 更多 >

    热门问题