首页 > 解决方案 > python3不能将序列乘以'float'类型的非int

问题描述

key = key * (len(s) / len(key) + 1)
return ''.join(chr(ord(x) ^ ord(y) for (x,y) in zip(s, key))

任何人都知道可能出了什么问题或有任何建议吗?

标签: python-3.x

解决方案


查看您的源代码,我的假设是您将字符串(在您的代码中key)与 a相乘float,因为常规除法产生floats 而不是ints。为了解决这个问题,一个可能的解决方案是使用整数除法而不是普通除法:

key = key * (len(s) // len(key) + 1)


您还可以这样缩短代码:

key *= len(s) // len(key) + 1

推荐阅读