为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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)


這樣才對

1 回复 有任何疑惑可以回复我~

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

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

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

3 回复 有任何疑惑可以回复我~
#1

千古笑

我不管,我要采纳,好难打字。
2022-03-14 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

toment 提问者

对不起,我错了,好像不是这样的,我还是没懂,如果a=1和a=3,结果会有什么区别吗?我运行了,没区别啊,还是没懂
2022-03-13 回复 有任何疑惑可以回复我~
#2

weixin_慕婉清3379320 回复 toment 提问者

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信