我正在玩蝙蝠编码和
return str[:len(str) / 2]
工作正常,但
return str[:len(str) * 0.5]
返回
Error:slice indices must be integers or None or have an __index__ method
虽然我可以推测为什么这是我对听到更明智的解释非常感兴趣。谢谢!
奖励积分:提供我可以在此帖子上放置的标签,以便我们对其进行分类!
答案 0 :(得分:2)
在Python 2中:
除以两个整数会得到一个整数。
乘以整数和浮点数会产生浮动。
切片必须是整数。
答案 1 :(得分:0)
在python中,切片必须是整数(5.0
是错误的,5
是好的。)
len(str) / 5 # => integer
len(str) * 0.5 # => float
len(str) / 5 # => float
len(str) // 5 # => integer (equivalent of math.floor(len(str) / 5))