一、题目:
在某班班委的选举中,已知王小红、李强、丁金生三位同学被选进了班委会。该班的甲,乙,丙三名同学预言如下。
甲说:王小红为班长,李强为生活委员。
乙说:丁金生为班长,王小红为生活委员。
丙说:李强为班长,王小红为学习委员。
班委会分工名单公布后发现,甲、乙、丙三人都恰好猜对了一半。问:王小红、李强、丁金生各任何职?
二、代码实现
list_person=["w","li","d"] # w表示王小红,li表示李强,d表示丁金生
for b in list_person:
for s in list_person:
for x in list_person: # b表示班长,s表示生活委员,x表示学习委员
if ((b=='w' and s!='li' and b!='d' and s!='w' and b!='li' and x!='w') or(b!='w' and s=='li' and s!='w' and b!='li'))\
+((b=='d' and s!='w' and b!='w' and b!='li')or(b!='d' and s=='w' and b!='w' and x!='w' and s!='li'))\
+((b=='li' and x!='w' and b!='w' and s!='li' and b!='d')or(b!='li' and x=='w' and b!='w' and s!='w'))==3:
print("班长是:{} 学习委员是:{} 生活委员是:{}".format(b,x,s))
运行结果:
运行结果表明班长是丁金生,学习委员是王小红,生活委员是李强。
目录