我刚开始学习 Python 并且我被困在这个问题上。基本上我想找出奇数索引号中的加号。这是我的代码。def odd_ones(lst): total = [] for i in lst: if i % 2 == 1: total.append(i) return totalprint(odd_ones([1,2,3,4,5,6,7,8])) 输出是[1, 3, 5, 7] 代替 [2, 4, 6, 8]有人可以帮我吗?
3 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
输出是正确的。您迭代值列表而不是它的索引。条件i % 2 == 1给出以下:
1 % 2 = 1 (true)
2 % 2 = 0 (false)
3 % 2 = 1 (true)
4 % 2 = 0 (false)
5 % 2 = 1 (true)
6 % 2 = 0 (false)
7 % 2 = 1 (true)
8 % 2 = 0 (false)
所以输出是 (1,3,5,7)
沧海一幻觉
TA贡献1824条经验 获得超5个赞
如果您不想将奇数放入数组中,则需要更改条件,因此代码最像这样:
def odd_ones(lst):
total = []
for i in lst:
if i % 2 == 0:
total.append(i)
return total
print(odd_ones([1,2,3,4,5,6,7,8]))
输出:[2, 4, 6, 8]
波斯汪
TA贡献1811条经验 获得超4个赞
你想找到奇数 inedx ,但你真正要做的是找到奇数元素
for i in lst: #(i ---->the element in lst)
if i % 2 == 1:
所以你应该试试这个
for i in range(len(lst)): #( i ---> the index of lst)
if i % 2 == 1:
添加回答
举报
0/150
提交
取消