我写的代码出现错误但不知道如何改正

def is_prime(x):
    flag=1
    for k in (2,x):
        if x % k ==0:
            flag=0
            break   
    if flag==1:
        return  Ture
    else:
        return  False
ls=input("请用户输入一组正整数数据列表:\n")
n=0
s=0
lt=[]
for x in ls:
    if is_prime(x)==True:
        n=n+1
        s=s+1
        lt.append(x)
    else:
        n=n+1
sum=0
for j in lt:
    sum=sum+j
print("原数据为:",ls,"共计{}个数据".format(n))
print("其中质数为:",lt,"共计{}个质数".format(s))
print("质数和为:",sum)

它反映出的问题没看懂
Traceback (most recent call last):
  File "E:\Python\mypython.py", line 16, in <module>
    if is_prime(x)==True:
  File "E:\Python\mypython.py", line 4, in is_prime
    if x % k ==0:
TypeError: not all arguments converted during string formatting
>>> 

input 默认是str的,用int转下