for i in b却无法遍历

img

如图,没觉得逻辑上有什么错误,却是这种报错,这是为啥呢,求告知,谢谢!目的是给列表中所有奇数求和。

因为你输入的内容是字符串,沒辦法直接进行数学运算。
在遍历列表中的元素时,你要先将字符转换为整数 才可以進行運算

a = list(input())
s = 0
for i in a:
    i = int(i)
    if i % 2 != 0:
        s += i
print(s)

input默认返回的是string,需要用int转一下:

a=list(int(input()))

转换后是字符串类型 int(i)转换一下。望采纳

list()是将传入的字符串分解成一个一个的,比如说'1,2,3'会变成["1",",","2",",","3"]空格也一样,所以建议你让用户一个数字一个数字的输,然后int()再放列表里,就OK了。望采纳。