python
网站首页 |   



  • [课程章节]第08-2节:是谁踢碎玻璃的逻辑推衍算法
  • 发布: 江湖程序员 来源: 本站原创 时间: 2024/02/18 03:31:01
    (2627) 点赞: (130) 标签: 课程章节


    问题描述:
      四个顽皮的孩子踢足球的时候,一个不小心把球踢到了楼上,踢碎了邻居张阿姨家的玻璃。张阿姨非常生气的问是谁干的,
    甲说是乙干的,乙说是丁干的,丙说他没干,丁说乙撒谎。他们四个人当中,有三个人说了假话,你知道是谁打碎了张阿姨家的玻璃呢?

    编程解题:
    #以下代码中的关系运算符同等号“==”返回结果为“True”或“False”,也相当于是“1”或“0”
    for i in '甲乙丙丁':#枚举法
        a = i=='乙'#甲说是乙干的,所以用同等号
        b = i=='丁'#乙说是丁干的
        c = i!='丙'#丙说他没干,所以用不等号
        d = i!='丁'#丁说乙撒谎(请看第二条件:“乙说是丁干的”),所以用不等号
        if a + b + c + d == 1:#判断只有一个人说了真话,即以上四个变量相加等于1 (即4个条件只有一个成立时,输出即为正确答案)
            print (i)#输出正确答案
    输出答案:
    丙
    >>> 

    作者:江湖程序员 (python帮助网)
    转载请注明出处: www.pythonhelp.cn


    ---= 已经到底 =---