python-3.x - python3不能将序列乘以'float'类型的非int
问题描述
key = key * (len(s) / len(key) + 1)
return ''.join(chr(ord(x) ^ ord(y) for (x,y) in zip(s, key))
任何人都知道可能出了什么问题或有任何建议吗?
解决方案
查看您的源代码,我的假设是您将字符串(在您的代码中key
)与 a相乘float
,因为常规除法产生float
s 而不是int
s。为了解决这个问题,一个可能的解决方案是使用整数除法而不是普通除法:
key = key * (len(s) // len(key) + 1)
您还可以这样缩短代码:
key *= len(s) // len(key) + 1
推荐阅读
- excel - 使用 VBA 突出显示列与列比较中的值
- java - 同一台 PC 上的 Jhipster 生成器的多个实例
- google-cloud-platform - Googleapis:Firebase 中的“/workspace/”在哪里?
- java - 当枚举属性由于新继承而始终具有相同的值时,我应该保留它吗?
- python - 我在选择随机颜色时试图排除黑色
- python - ValueError:输入包含的值对于 dtype('float32') 来说太大了
- javascript - vue - 如何在 Slick-carousel 中的弹性项目之间制作间隙
- php - sendinblue php,如何添加附件
- c - 给定的代码在函数调用中如何工作?
- react-native - React 原生声音使用户音乐静音(Spotify、deezer 等)