我在第六行中不断收到错误消息,我不知道为什么。在格式化过程中,并不是所有的值都被转换。我正在尝试创建一个程序,从一系列数字中识别出一个唯一的数字。在
def iq_test(numbers):
oddlist = []
evenlist = []
numbers = numbers.split()
for x in numbers:
if x % 2 == 0:
evenlist.append(x)
if x % 2 != 0:
oddlist.append(x)
if len(evenlist) > len(oddlist):
return "".join(oddlist)
else:
return "".join(evenlist)
Python的
split
函数返回字符串列表。因此,for
循环中的每个x
值实际上是x
是什么数字的字符串表示。这意味着您对x
执行的任何算术/数字操作都将失败,因为您不能对字符串执行数值操作。在只需执行
int(x)
将任何数字字符串转换为int
。(即int("3") % 2 == 1
)看起来这个函数应该从一个输入列表中返回一个较短的偶数或奇数列表。{这样做的结果基本上是在字符串列表之后:
解决方法如下:
^{pr2}$输出:
相关问题 更多 >
编程相关推荐