尝试运行python代码时出现TypeError

时间:2019-12-26 13:03:04

标签: python python-3.x

以下代码用于从用户那里获取输入,然后在用户输入中打印出奇数

list2 = [ list2 for list2 in input("list").split(",")]

odd_nos = [ num for num in list2 if num % 2 !=0]

print ("Odd numbers in the list: ",odd_nos)

但是,在尝试运行以上代码时,我遇到了以下错误

odd_nos =[ num for num in list2 if num % 2 !=0]

TypeError: not all arguments converted during string formatting

感谢您能在此方面为我提供帮助。

2 个答案:

答案 0 :(得分:1)

简单修复-由于num是字符串,因此需要int(num)。

list2 = [ list2 for list2 in input("list").split(",")]
odd_nos = [ int(num) for num in list2 if int(num) % 2 !=0]
print ("Odd numbers in the list: ",odd_nos)

或者单线

odd_nos = [int(x) for x in input('Enter list').split(',') if int(x) % 2]

答案 1 :(得分:0)

这是解决方案:

list2 = [int(list2) for list2 in lst.split(",")]
odd_nos = [ num for num in list2 if num % 2 !=0]
print ("Odd numbers in the list: ",odd_nos)