求助
list1 =b = 0
for num in list1:
if num == 32:
print(b)
b += 1
输出:
13
list1 =
b = 0
for num in list1:
b += 1
if num == 32:
print(b)
输出:
14
为什么?????
{:10_277:} {:10_243:} {:10_269:} 本帖最后由 昨非 于 2020-11-18 22:11 编辑
循环中你先让b加一,b就从1开始了,
32的位置判断不就自己往后移了一位了吗
根据for循环遍历的性质,你的b应该对应了32在列表中所排的位置,
b=0时,num为列表第0个元素
而下面改了之后,
b=1时,num为列表中第0个元素,所以最后b的值就大了一 32再列表中的位置是一样的,
b从0开始和b从1开始当然差了一位
第一个是先打印,后+1,而第二个是先增1,后打印结果当然差 1 呀
这里我们知道 32 在第14个数,即索引值为 13
那么当 num = 32 时,b 应该等于 13
但是第一个代码你是先判断是否等于 32 然后在 +1
而第二个代码是先将 b +1 , 此时 b = 14 了,然后才判断是否等于 32 ,此时在继续打印,结果当然为 14
{:10_269:}{:10_243:}{:10_277:}{:10_257:}{:10_256:}懂了
谢谢各位
15909574023 发表于 2020-11-18 22:15
懂了
谢谢各位
解决了记得设置最佳答案哈 昨非 发表于 2020-11-18 22:18
解决了记得设置最佳答案哈
ok
页:
[1]