加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

推理题目编程

(2022-03-14 10:22:49)
分类: 研究-学习
对于这类题目,我一开始比较发秫,因为总是搞不清将具体条件转为表达式的方法。前两天看到沈大业在看王老师发的题目时恰巧遇到了一道,我便尝试用python的方法来实现。
题目是这样的:

警察局抓了abcd四名小偷嫌疑犯,其中有一人是小倫。审问中:

    a说:“我不是小偷。”

    b说:“c是小偷。”

    c说:“小偷肯定是d。”

    d说:“c冤枉人!”

    现在已知道四人中三人说的是真话,一人说的假话。问到底谁是小偷。


我用列表尝试了几次,发现了自己对列表知识理解和应用中的问题,不过这次条件转为表达式的过程倒还是挺顺畅的。

thief=["a","b","c","d"]
for i in range(len(thief)):
    if (thief[i]!="a")+(thief[i]=="c")+(thief[i]=="d")+(thief[i]!="d")==3:
        print(thief[i])
===============
thief=["a","b","c","d"]
for i in thief:
    if (i!="a")+(i=="c")+(i=="d")+(i!="d")==3:
        print(i)


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有