警察审问4名窃贼嫌疑犯。现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎。
下面是这4个人给警察的回答。
甲说:“乙没有偷,是丁偷的。”
乙说:“我没有偷,是丙偷的。”
丙说:“甲没有偷,是乙偷的。”
丁说:“我没有偷。”
那么问题来了,请根据这4个人的回答判断谁是窃贼?
下面直接上代码:
########################
if __name__ == "__main__":
#甲、乙、丙、丁分别用A、B、C、D代表。A、B、C、D的值要么为1,要么为0
# 为1表示是窃贼,为0表示不是
# 满足4个条件:B+D=1,B+C=1,A+B=1,A+B+C+D=1
A, B, C, D = 1, 0, 0, 0
for i in range(1, 4+1): #i=1,2,3,4
if B+D == 1 and B+C == 1 and A+B == 1:
break
else:
if i == 1:
A=0
B=1
if i == 2:
B=0
C=1
if i == 3:
C=0
D=1
print("判断结果:")
if i == 1:
print("甲是窃贼\n")
if i == 2:
print("乙是窃贼\n")
if i == 3:
print("丙是窃贼\n")
if i == 4:
print("丁是窃贼\n")
########################
执行结果如下:
判断结果:
乙是窃贼
________________END______________
网友评论