在某次研讨会的中间休息时间,3 名与会者根据王教授的口音对他是哪个省市的, 判断如下:
甲:王教授不是苏州人;是上海人。
乙:王教授不是上海人,是苏州人。
丙:王教授既不是上海人,也不是杭州人。
听完这 3 人的判断后,王教授笑着说,你们 3 人中有一人说得全对,有一人说对了一半,另一人说 得全不对.试分析王教授到底是哪里人.
代码如下:
# p:王教授是苏州人 q:王教授是上海人 r:王教授是杭州人
for p in range(2):
for q in range(2):
for r in range(2):
# 甲= not p and q
# 乙= p and not q
# 丙=not q and not r
#如果甲全对则王教授是上海人
if(not p and q==1):
r=0
p=0
q=1
#判断是否一人半错,一人全错
if((q and not r == 1)and(not p and q==1)):
print("王教授是上海人")
break
# 如果丙全对则王教授是苏州人
elif(not q and not r ==1):
q=0
r=0
if((p and q ==1) and (p and not q==1)):
print("王教授是苏州人")
break
#如果乙全对则王教授是苏州人
elif(p and not q==1):
q=0
r=0
if((not q and r ==1)and (p and not q ==1)):
print("王教授是苏州人")
break