昨晚睡觉前看了中学买的《哈佛学生的600个思维训练》,发现有电脑解决的问题,早起随便敲。
第一题:猜122名
核心思想:查每个人的名字,默认他们是写在老师手上的名字,放在同学们说话的情景中进行比较,看是否满足只有一个人说对的情况。
#122代码list=['a '、' b '、' c '、' d']forxinlist3360if(int(x=='c ' ) int ) x!='b ' ) int(x!='c'(int ) x=='a ' )==1) : print(x ) x ) #122执行结果b的最后答案是) b ),即主题b先生。
126和127征婚题
126和刚才122的想法一样,很简单。 表示就可以了,127有点变化,用简单的逻辑就能完成。
#126代码list=['a '、' b '、' c']forxinlist3360if(int(x!='a ' ) int(x=='a ' ) int ) x!='c'(==1) :print(x ) )执行结果c的最后答案是‘c’,即主题中的铅盒。
127如果至少有一个真,则真的个数为1以上;如果至少有一个假,则原始句子的逻辑非的个数为1以上。 用python表示就可以了。
#127代码list=['a '、' b '、' c']forxinlist3360if((int(x!='b ' ) int(x!='b ' ) int(x=='c ' )=1) andint )='b ' ) (int )='b ' ) int ) x!='c ' )=1) :print(x(#127执行结果a的最后答案是‘a’,即主题中的金盒。
第三题: 155谁是行凶者
有三个说谎的人。 也就是说,真正的数量是1。
#155代码list=['a '、' b '、' c '、' d']forxinlist3360if(int(x=='b ' ) int ) x=='d ' ) int ) x!='c ' ) int(x!='d ' )==1) :print(x ) #155执行代码c的最后一个答案是‘c’,即标题丙。
最后还有一个,感兴趣的人自己敲一下吧。