甲:王教授不是苏州人,是上海人。
乙:王教授不是上海人,是苏州人。
丙:王教授既不是上海人,也不是杭州人。
王教授笑了,你们三人有一人说的全对,一人说对了一半,另一个人说的全不对。
代码实现:
ls = [0,1]
#p王教授是苏州人,q王教授是上海人,r王教授是杭州人
for p in ls:
for q in ls:
for r in ls:
b1 = (not p and q)
b2 = ((not p and not q)and(p and q))
b3 = (p and not q)
c1 = (p and not q)
c2 = ((p and q)or(not p and not q))
c3 = (not p and q)
d1 = (not q and not r)
d2 = ((not q and r)or(q and not r))
d3 = (q and r)
if((b1 and c2 and d3)or(b1 and c3 and d2)or(b2 and c1 and d3)or(b2 and c3 and d1)or(b3 and c1 and d2)or(b3 and c2 and d1))and((p and q)==0and(p and r)==0and(q and r)==0):
print("{},{},{}".format(p,q,r))
结果实现:
===================
p:0,q:1,r:0