2024-05-14 22:41:19 发布
网友
我需要一个由特定字符的重复组成的字符串。在Python控制台上,如果我键入:
n = '0'*8
然后n得到一个由8个零组成的字符串,这是我所期望的。
但是,如果我在一个Python程序(.py文件)中有相同的文件,那么程序将中止,并出现一个错误,说can't multiply sequence by non-int of type 'str'
.py
can't multiply sequence by non-int of type 'str'
有办法解决这个问题吗?
我敢打赌你是在用raw_input()来读取将字符串相乘的值。您应该使用input()来读取值,而不是字符串。
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'
我敢打赌你是在用
raw_input()
来读取将字符串相乘的值。您应该使用input()
来读取值,而不是字符串。您收到错误消息的原因是您试图对非整数值使用乘法运算符。
最简单的方法就是:
或者做这个功能:
你得到这个错误是因为-在你的程序中-8实际上也是一个字符串。
相关问题 更多 >
编程相关推荐