python
网站首页 |   



  • [python编程习题] 是谁踢碎玻璃的逻辑推衍算法
  • 发布: 江湖程序员 来源: 本站原创 时间: 2014/02/09 11:20
    (1188) 点赞: (41) 标签: python编程习题

    问题描述: 四个顽皮的孩子踢足球的时候,一个不小心把球踢到了楼上,踢碎了邻居张阿姨家的玻璃。张阿姨非常生气的问是谁干的, 甲说是乙干的,乙说是丁干的,丙说他没干,丁说乙撒谎。他们四个人当中,有三个人说了假话,你知道是谁打碎了张阿姨家的玻璃呢?
    #以下代码中的关系运算符同等号“==”返回结果为“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)#输出正确答案
    

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