#例2.6 王教授是哪里人
#p:王教授是j城人 q;王教授是k城人 r;王教授是l城人
l=[0,1]
for p in l:
for q in l:
for r in l:
a=(p==0 and q==1)
a1=((p==0 and q==1) or (p==1 and q==1))
a2=(p==1 and q==0)
b=(p==1 and q==0)
b1=((p==0 and q==0) or (p==1 and q==1))
b2=(p==0 and q==1)
c=(q==0 and r==0)
c1=((q==1 and r==0) or (q==0 and r==1))
c2=(q==1 and r==1)
if (a+b1+c2==3 and p+q+r==1) or (a+b2+c1==3 and p+q+r==1)
or (a1+b+c2==3 and p+q+r==1) or (a2+b+c1==3 and p+q+r==1)
or (a1+b2+c==3 and p+q+r==1) or (a2+b1+c1==3 and p+q+r==1):
print("p:{},q:{},r:{}".format(p,q,r))
#P45 29
#a:王是职位a a1:王是职位b a2:王是职位c
#b:李是职位a b1:李是职位b b2:李是职位c
#c:丁是职位a c1:丁是职位b c2:丁是职位c
i=[0,1]
for a in i:
for b1 in i:
for c in i:
for a1 in i:
for b in i:
for a2 in i:
for b2 in i:
for c1 in i:
for c2 in i:
s1=((a==0 and b1==1) or (a==1 and b1==0))
s2=((c==0 and a1==1) or (c==0 and a1==0))
s3=((b==0 and a2==1) or (b==0 and a2==1))
if s1+s2+s3==3 and a+a1+a2==1 and b+b1+b2==1 and c+c1+c2==1
and (a)+(a1)+(a2)+(b)+(b1)+(b2)+(c)+(c1)+(c2)==3:
print("a:{},a1:{},a2:{},b:{},b1:{},b2:{},c:{},c1:{},c2:{}".format(a,a1,a2,b,b1,b2,c,c1,c2))
#P45 30
#赵为p,钱为q,孙为r,李为s,周为t:0是不去,1是去
for p in [0,1]:
for q in [0,1]:
for r in [0,1]:
for s in [0,1]:
for t in [0,1]:
a=(p==1 and q==1)or(p==0 and q==1)or(p==0 and q==0)#条件1
b=(s==1 and t==0)or(s==0 and t==1)or(s==1 and t==1)#条件2
c=(q==1 and r==0)or(q==0 and r==1)#条件3
d=(r==1 and s==1)or(r==0 and s==0)#条件4
e=(t==0 or (p==1 and q==1))#条件5
if(a+b+c+d+e==5):
print("p:{},q:{},r:{},s:{},t:{}".format(p,q,r,s,t))