对于我正在学习如何切成整数的课程。在下面的代码中,变量halflength
等于变量message
的长度的一半。
new = message[halflength::]
halflength
等于整数,但是每当我运行此代码时,我都会得到此错误:
typeError:切片索引必须是整数或无
__index__
方法
基本上,我需要尝试创建一个等于原始字符串的后半部分的新字符串。
示例:原始字符串1234将产生34作为新字符串。
我认为问题是您在分区后获得半长度的浮点类型,尝试将其施放给int,或使用整数除法
halfLength = int(halfLength)
或
halfLength = len(message) // 2
做您想做的事情尝试这样的事情:
halfLength=len(message)//2
newMessage=message[halfLength::]
如果您以这种方式获得长度,它将始终是一个整数,然后您可以使用它来获取刺的一部分。
确保半长度为类型整数。您可以使用" isInstance"方法来验证。
# python
Python 2.7.5 (default, Aug 2 2016, 04:20:16
>>> halflength = "4"
>>> isinstance(halflength,int)`
False`
>>> halflength=4
>>> isinstance(halflength,int)
True
>>>
尝试以下操作:
message[int(halflength)::]