第6行转类型不生效,不知道咋整。类似的还有函数里tuple不能用list()转成列表

def su():
x = input('输入数字,以逗号隔开:')
x = x.split(',')
print(type(x))
for i in x:
int(x[i])
for t in (2, x[i]-1):
if (x[i]%t==0):
print(x[i],'不是素数')
else:
print(x[i], '是素数')
su()

代码修改如下,其实不是不能转换,只是转换之后,你没有保存函数返回的结果

def su():
    x = input('输入数字,以逗号隔开:')
    x = x.split(',')
    print(x)
    
    for i in x:
        i = int(i)
        flat = True
        for t in range(2, i):
            if (i%t==0):
                print(i,'不是素数')
                flat = False
        if(flat) :
            print(i,'是素数')
su()

如果对你有帮助,望采纳

for i in x: 这里你是直接循环x,那么i就是里面的元素
int(x[i]) 那这里就不能用x[i],而需要直接用int[i]