函子蛋糕 2022-09-13 17:26 采纳率: 80.6%
浏览 59
已结题

逻辑问题怎么用python写?

题:三个逻辑学家去酒吧喝酒。侍者问是不是都喝啤酒。第一个逻辑家说“我不知道”。第二个也说“我不知道”。第三个说“是的”。

解读:如果逻辑学家不喝,会直接说“不是”。所以“我不知道”的意思是:不知道另外两位喝不喝。这里的布尔值就是三值:是的都喝(true)、不是都喝(false)、不知道。

请用python解题,需要完整代码。

  • 写回答

2条回答 默认 最新

  • 亖夕 Python领域新星创作者 2022-09-13 18:05
    关注

    因为都是逻辑学家,第一位和dier位不可能说是的,三位不可能都说不知道,请仔细思考判断不符合题意得情况

    img

    
    a = input("第一位回答:")
    b = input("第二位回答:")
    c = input("第三位回答:")
    dct = {"不喝": 0, "是的": 1, "不知道": -1}
    if dct[a]*dct[b]*dct[c] > 0:   # 相乘大于零有111,喝-1-11两种情况都是全喝
        print("true")
    elif dct[a]*dct[b]*dct[c] == 0:   # 相乘=0000都喝,-100,0-10不都喝
        print("false")
    else:     # 不知道的情况不存在因为第三位逻辑学家总能由前面两人的回答判断喝还是不喝
        print("不知道")
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月21日
  • 已采纳回答 9月13日
  • 创建了问题 9月13日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装