遍历二进制数字列表筛选可被5整除元素时报错如何解决
问题解决
报错原因
- 列表中存储的所有二进制值都是字符串类型,直接对字符串使用
%运算符时,Python会将该操作识别为字符串格式化,而非数值取模运算,你的字符串内没有对应的格式化占位符匹配数值5,因此触发类型错误。 - 原有判断逻辑写的是
%5 != 0,和你「可被5整除就输出」的需求正好相反。
修复方法
先调用int(二进制字符串, 2)方法将二进制字符串转为十进制整数,再做取模判断即可。
可运行代码
bin_liste = ['0100','0110','1010','1001'] for element in bin_liste: dec_value = int(element, 2) if dec_value % 5 == 0: print(element)
运行结果
输出符合要求的二进制字符串:1010
内容的提问来源于stack exchange,提问作者Azuneer
相关产品推荐
相关产品推荐

