for loop 输出问题

cross=True
xyz=[3,1,6,7,8]
for i in range(3):
    if i in xyz:
        cross=False
    print(cross)

output是True
False
False

但我认为是True
False
True

不知道问题出在哪里,请教专家

你循环中执行了 cross=False 之后,cross就一直是False了, 不会重新变成True
应该改成

cross=True
xyz=[3,1,6,7,8]
for i in range(3):
    if i in xyz:
        cross=False
    else:
        cross=True
    print(cross)

当 if i in xyz:判断不成立时,执行 else: cross=True 让cross重新变成True

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632