日更成长营自学编程Python

自学Python:寻找窃贼

2022-01-09  本文已影响0人  小强聊成长

警察审问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______________

上一篇 下一篇

猜你喜欢

热点阅读