为什么我输出来的是奇数元素,还有一个不懂的就是,a=0和a=1有什么区别吗

来源:5-2 Python按顺序访问list

toment

2022-03-13 20:38

a = 0

L = ['Alice', 66, 'Bob', True, 'False', 100]

for item in L:

    if a % 2 == 1:

        a += 1

        continue

    print(item)

    a+=1


写回答 关注

4回答

  • 慕先生1285327
    2022-04-14 20:11:00

    a = 0

    L = ['Alice', 66, 'Bob', True, 'False', 100]

    for item in L:

        if a % 2 == 1:   這裡a=0帶入  0%2不等於1所以if不成立

            a += 1     

            continue

        print(item)     就直接輸出第一個元素了

        a+=1


    要改成


    a = 0

    L = ['Alice', 66, 'Bob', True, 'False', 100]

    for item in L:

        a += 1

        if a % 2 == 1:

            continue


        print(item)


    這樣才對

  • 千古笑
    2022-03-14 17:14:48

    这个题目意思是要你打印出逻辑上在偶数位的元素,alice是第一个,66是第二个这个意思,符合条件的list下标值分别是1,3,5。

    你这里a取的0,所以和list的下标值是同步的,而你代码意思是下标为偶数就打印,所以输出的元素下标分别是0,2,4,懂了吗,所以你的代码改成a=1就对了。

    你上面说a=3也行,其实a为任意一个奇数都可以,你a的取值只要和list的下标值奇偶性不一样就没问题,因为题目说的偶数位和下标位为奇数位是一个意思。

    千古笑

    我不管,我要采纳,好难打字。

    2022-03-14 17:16:24

    共 1 条回复 >

  • toment
    2022-03-13 21:38:13

    我懂了,如果开始写a=1,就是赋予L的第一个元素序号为1,是吧?

    weixin... 回复toment

    a=0或者a=1,再或者a=任何自然数都可以,这个只是前面你给a赋的值,跟List内的元素没有任何关系,a只是你用来判断奇数或偶数时输出的一个初始判断值而已;

    2023-03-28 16:39:20

    共 2 条回复 >

  • 心a跳乱了节奏
    2022-03-13 20:53:04

    因为list元素的顺序是从0开始数的,所以a % 2==0,a必须从0开始啊,不然就漏了一个元素

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154170 学习 · 1075 问题

查看课程

相似问题