并非所有参数在字符串格式化期间都已转换 python
not all arguments converted during string formatting python
我正在编写一个脚本,打印可被 3 XOR 最后一个字符 ==4 整除的列表项,但我收到一条错误消息:TypeError: not all arguments converted during string formatting
我是 Python 的新手,可能错过了一些明显的东西。代码如下:
lijst = ["124576", "795834", "890432", "907251"]
for j in lijst:
if j[-1]==4 ^ j%3 > 0 :
print(j)
首先您需要将 4
更改为 '4'
因为您的项目是字符串并将 j
转换为 j%3
中的 int 还需要将您的括号括起来比较表达式,因为 ^
的 precedence 高于 ==
并且它会引发 TypeError
如果你想保留你的结果,你可以使用列表理解:
>>> [j for j in lijst if (j[-1]=='4') ^ (int(j)%3 > 0)]
['124576', '795834', '890432']
如果你只想打印结果,你可以使用带打印功能的普通循环。
我正在编写一个脚本,打印可被 3 XOR 最后一个字符 ==4 整除的列表项,但我收到一条错误消息:TypeError: not all arguments converted during string formatting
我是 Python 的新手,可能错过了一些明显的东西。代码如下:
lijst = ["124576", "795834", "890432", "907251"]
for j in lijst:
if j[-1]==4 ^ j%3 > 0 :
print(j)
首先您需要将 4
更改为 '4'
因为您的项目是字符串并将 j
转换为 j%3
中的 int 还需要将您的括号括起来比较表达式,因为 ^
的 precedence 高于 ==
并且它会引发 TypeError
如果你想保留你的结果,你可以使用列表理解:
>>> [j for j in lijst if (j[-1]=='4') ^ (int(j)%3 > 0)]
['124576', '795834', '890432']
如果你只想打印结果,你可以使用带打印功能的普通循环。