王教授出生地逻辑判断(python)

 在某次研讨会的中间休息时间,3 名与会者根据王教授的口音对他是哪个省市的, 判断如下:

 甲:王教授不是苏州人;是上海人。

乙:王教授不是上海人,是苏州人。

丙:王教授既不是上海人,也不是杭州人。

听完这 3 人的判断后,王教授笑着说,你们 3 人中有一人说得全对,有一人说对了一半,另一人说 得全不对.试分析王教授到底是哪里人.

 代码如下:

ls = [0, 1]
for su in ls:  # 王教授是苏州人,0代表不是,1代表是
    for shang in ls:  # 王教授是上海人,0代表不是,1代表是
        for hang in ls:  # 王教授是杭州人,0代表不是,1代表是
            if su + hang + shang == 1:  # 王教授只能属于一个地方
                jd = (shang == 1)  # 当王教授为上海人时,甲完全正确
                jz = (hang == 1)  # 当王教授为杭州人时,甲说对一半
                jc = (su == 1)  # 当王教授为苏州人时,甲完全错误
                yd = (su == 1)  # 当王教授为苏州人时,乙完全正确
                yz = (hang == 1)  # 当王教授为杭州人时,乙说对一半
                yc = (shang == 1)  # 当王教授为上海人时,乙完全错误
                bd = (su == 1)  # 当王教授为苏州人时,丙完全正确
                bz = (hang + shang == 1)  # 当王教授为上海人或者杭州人时,丙说对一半
                if (jd + yc + bz == 3) \
                        or (jz + yc + bd == 3) \
                        or (jc + yd + bz == 3) \
                        or (jc + yz + bd == 3):  # 三人只能有一人对,一人错,一人对一半
                    print("苏州:{} 上海:{} 杭州:{}".format(su, shang, hang))

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值