Python论坛 - 国内最好的Python中文社区
标题:
python的and和or是不是弄反了?谢谢!
[打印本页]
作者:
lsir
时间:
2019-7-6 18:52
标题:
python的and和or是不是弄反了?谢谢!
本帖最后由 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
作者:
lsir
时间:
2019-7-9 14:56
是不是问题很低级?谢谢
作者:
echoecho
时间:
2019-7-10 22:18
在你的程序里,只有当s1 s2 s3全为8时循环才会执行。
譬如s1不等于8 s2 s3都等于8 则已然不满足循环条件,跳出循环。
所以 and or 没有错误,你再仔细体会一下逻辑语句的用法
欢迎光临 Python论坛 - 国内最好的Python中文社区 (https://bbs.pythontab.com/)
Powered by Discuz! X3.4