发布网友 发布时间:2022-05-04 19:17
共1个回答
热心网友 时间:2022-04-18 06:09
题主你好,
问题代码见截图:
你的row = ls.index(i)+2这句你分析一下,
for语句中,i的值是从ls中取的,所以i的值分别是2,2,2,3,3,3,4,4,4 此时你把这9个值往row表达式中代代看:
row = ls.index(2)+2 --> row = 2
row = ls.index(2)+2 --> row = 2
row = ls.index(2)+2 --> row = 2
row = ls.index(3)+2 --> row = 5
row = ls.index(3)+2 --> row = 5
row = ls.index(3)+2 --> row = 5
row = ls.index(4)+2 --> row = 8
row = ls.index(4)+2 --> row = 8
row = ls.index(4)+2 --> row = 8
也就是说你向2,1这个单元格写了3次,向5,1单元格写了3次,向8,1单元格写了3次,因此就是你看到的这个结果了.
感觉你应该是没理解index()函数的意思,它的作用是返回参数第一次出现的位置索引,就你的ls列表来说,2第一次出现的位置索引是0,3第一次出现的位置索引是3,4第一次出现的位置索引是6.
写在最后: 上面是分析为什么题主会得到图2的结果, 而没有给出解决方案,图主按照我的思路自己尝试着改一下, 如果不明白,请追问.
-----
希望可以帮到题主, 欢迎追问.
追答^_^