找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1633|回复: 2

python的and和or是不是弄反了?谢谢!

0

主题

1

帖子

1

积分

贫民

积分
1
lsir 发表于 2019-7-6 18:52:00 | 显示全部楼层 |阅读模式
本帖最后由 lsir 于 2019-7-7 13:00 编辑

'and' 和'or' 是否错误?
我的版本:Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28)


我的设计目标是s1-s3均为8时结束循环。
但用'and'时,s1/s2/s3任意一个数为8时while结束;
while (a1!=8 and a2!=8 and a3!=8):


用'or'时,while需要3个数都为8才跳出循环。
while (a1!=8 or a2!=8 or a3!=8):

原代码如下,谢谢:

import random
a1,a2,a3=0,0,0
ii=0
while (a1!=8 and a2!=8 and a3!=8):
    a1 = random.randint(0,10)
    a2 = random.randint(0,10)
    a3 = random.randint(0,10)

    print(ii,'  ',a1,a2,a3)
    print(a1==8 and a2==8 and a3==8)
    ii+=1



回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
lsir  楼主| 发表于 2019-7-9 14:56:46 | 显示全部楼层
是不是问题很低级?谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
echoecho 发表于 2019-7-10 22:18:32 | 显示全部楼层
在你的程序里,只有当s1 s2 s3全为8时循环才会执行。
譬如s1不等于8 s2 s3都等于8 则已然不满足循环条件,跳出循环。
所以 and or 没有错误,你再仔细体会一下逻辑语句的用法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表