逻辑推演题——谁是骗子

在小红书看到一道逻辑问题(见下图),突发奇想地想用Python推演答案。

有大神只用了11行就得到了正确答案。代码见下面:

def check_liar(liar):

xiaoming = (liar != "小明")

xiaohong = xiaoming and liar != "小红"

xiaohua = (liar == "小红")

xiaole = (liar == "小华")

truth_count = int(xiaoming) + int(xiaohong) + int(xiaohua) + int(xiaole)

print(truth_count)

return truth_count == 3

for candidate in ["小明", "小红", "小华", "小乐"]:

if check_liar(candidate):

print("骗子是{}".format(candidate))

自己学了几年Python,还不能解决这个初级问题,感觉备受打击。

相关推荐
The_Second_Coming23 分钟前
Python 学习笔记:基础篇
运维·笔记·python·学习
诗句藏于尽头23 分钟前
python实战学习记录
python·学习
AI松子66642 分钟前
PyTorch-混合精度训练(amp)
人工智能·pytorch·python
MDLZH42 分钟前
Pytorch性能调优简单总结
人工智能·pytorch·python
程序员爱钓鱼2 小时前
Python 编程实战 · 实用工具与库 — Flask 路由与模板
前端·后端·python
程序员爱钓鱼2 小时前
Python 编程实战 · 实用工具与库 — Django 项目结构简介
后端·python·面试
新之助小锅3 小时前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
海琴烟Sunshine3 小时前
leetcode 383. 赎金信 python
python·算法·leetcode
惊讶的猫9 小时前
LSTM论文解读
开发语言·python
测试老哥9 小时前
软件测试之单元测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例