班委竞选,王小红,李强,丁金生任何职,用python回答。

甲说,王小红为班长,李强为生活委员。

乙说,丁金生为班长,王小红为生活委员。

丙说,李强为班长,王小红为学习委员。

甲乙丙恰好都猜对了一半,问他们任何职

代码实现

ls =[0,1]
#p :王小红为班长q:李强为生活委员r :丁金生为班长s:王小红为生活委员t:李强为班长m:王小红为学习委员
for p in ls:
    for q in ls:
        for r in ls:
            for s in ls:
                for t in ls:
                    for m in ls:
                        if (p==1 and r==1):
                            continue
                        if (p==1 and s==1):
                            continue
                        if (p==1 and m==1):
                            continue
                        if (q==1 and s==1):
                            continue
                        if (q==1 and t==1):
                            continue
                        if (p==1 and t==1):
                            continue
                        a=(p and (not q))or((not p)and q)
                        b=(r and (not s))or((not r)and s)
                        c=(t and (not m))or((not t)and m)
                        if (a and b and c)==1:
                            print("{},{},{},{},{},{}".format(p,q,r,s,t,m))

结果:

0,1,1,0,0,1
 

你可能感兴趣的:(python)