【Python 逻辑题】甲、乙、丙、丁四人的血型各不相同

2023-11-13

问题:

甲、乙、丙、丁四人的血型各不相同,甲说:“我是A型”。乙说:“我是O型”。丙说:“我是AB型”。丁说:“我不是AB型”。四个人中只有一个人的话是假的。
在这里插入图片描述

解决方法:

思路:四个人的血型肯定都在[“A”,“B”,“O”,“AB”]范围内,所以用for循环让四个人轮流等于这四种血型,然后再用判断语句,选出正确的组合方法; 稍微的难点就是如何写判断语句,判断语句讲解如下:

  1. 这里分别让甲乙丙丁四个人的四句话赋值四个变量J1,Y1,B1,D1,如果变量的值为真,则对应的人说的是真话,如果变量值为假,则对应人说的为假话;这道题里,只有一个人的话是假的,所以对应的判断语句为:((J1 and Y1 and B1 and not D1) or (J1 and Y1 and not B1 and D1) or (J1 and not Y1 and B1 and D1) or (not J1 and Y1 and B1 and D1))==1 ,这里的意思就是,四个人中三个为真话,一个为假话;
  2. 另外,题目中还提到了四个人的血型各不相同,对应的判断语句为:(J!=Y and Y!=B and B!=D and D!=J and J!=B and Y!=J and Y!=D)

将以上两个条件结合起来,就是最后的答案,代码如下:

ls = ["A","B","O","AB"]

for J in ls:
    for Y in ls:
        for B in ls:
            for D in ls:
                J1 = (J == "A")
                Y1 = (Y == "O")
                B1 = (B == "AB")
                D1 = (D != "AB")

                if(((J1 and Y1 and B1 and not D1) or (J1 and Y1 and not B1 and D1) or 
                    (J1 and not Y1 and B1 and D1) or (not J1 and Y1 and B1 and D1))==1 
                    and (J!=Y and Y!=B and B!=D and D!=J and J!=B and Y!=J and Y!=D)):
                    print( "甲是%s型血,乙是%s型血,丙是%s型血,丁是%s型血。" %(J, Y, B, D))

输出如下:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python 逻辑题】甲、乙、丙、丁四人的血型各不相同 的相关文章

随机推荐

  • Mail command failed: 502 Invalid paramenters错误

    from要配置自己qq响应的邮箱
  • vue安装了babel-polyfill ie依旧无法适配

    上一篇写到安装babel polyfill 插件来适配ie浏览器 链接如下 https blog csdn net qq 43469899 article details 102969776 有些小伙伴会发现尽管你是配好了我上一篇的那些部分
  • HightCharts双y轴+x时间轴

    公司布置完成图表 使用HightCharts显示 根据时间显示探头点数据 由于探头分为两种数据属性 一种是温度 单位 一种是湿度 单位 所以需要使用双纵轴显示 加上横轴使用date属性 需要对date进行formart 上代码 myCont
  • linux修改日期时间

    Linux机器上的时间比较复杂 有各式各样的时钟和选项等等 机器里有两个时钟 硬件时钟从根本上讲是CMOS时钟 而系统时钟是由内核维护的 1 修改硬件时钟的可以使用下面的方法 你就可以用它来随时更新你的硬件时间 命令为 hwclock ad
  • 计算机组成原理笔记

    文章目录 一 计算机的基本组成 二 总线 2 1 总线控制 三 主存储器 3 1 RAM 3 2 存储器与CPU相连 3 3 存储器校验 3 4 提高存储器访问速度 3 5 cache 四 输入输出系统 4 1 I O接口 4 2 程序中断
  • 【狂神说Java】SpringBoo

    作者简介 CSDN内容合伙人 信息安全专业在校大学生 系列专栏 添砖加瓦 狂神说JAVA系列笔记 新人博主 欢迎点赞收藏关注 会回访 个人格言 舞台再大 你不上台 永远是个观众 平台再好 你不参与 永远是局外人 能力再大 你不行动 只能看别
  • Flutter Dialog模态框使用及自定义Dialog

    自定义dialog插件 用来弹出确认取消提示框 或者自定义模态框 自定义类 import package flutter material dart class dialogUtil 通用显示确定按钮框 static showConfirm
  • UART串口协议

    通用异步收发传输器 Universal Asynchronous Receiver Transmitter 通常称作UATR 是一种异步收发传输器 将数据由串行通信与并行通信间做传输转换 作为并行输入称为串行输出的芯片 UART是一种通用串
  • Python3.8的下载与安装

    一 介绍 Python由荷兰数学和计算机科学研究学会的吉多 范罗苏姆 于1990 年代初设计 作为一门叫做ABC语言的替代品 Python提供了高效的高级数据结构 还能简单有效地面向对象编程 Python语法和动态类型 以及解释型语言的本质
  • SQL中的and、or

    在sql查询语句中长用到and和or 它们在用的时候有些需要注意的地方 不管在一项表达式中有多少个and或or 它是将前一个表达式看作一项 and与or后的所有表达式看做一项 and的前后都为真的时候才为真 取交集 or有一个为真 即为真
  • 嵌入式设备和固件中的自动漏洞检测(三):静态分析技术

    原文链接 Automatic Vulnerability Detection in Embedded Devices and Firmware Survey and Layered Taxonomies ACM Computing Surv
  • 高等数值计算方法学习笔记第4章第一部分【数值积分(数值微分)】

    高等数值计算方法学习笔记第4章第一部分 数值积分 数值微分 一 数值积分概论 1 数值求积的基本思想 牛 莱公式找不到原函数 用矩形近似 2 代数精度的概念 1 上述四个公式的代数精度 梯形 左中右矩形公式 2 利用代数精度的概念构造求积公
  • Chatgpt登陆后一直在转圈请求429错误的解决办法

    Chatgpt登陆后一直在转圈请求429错误的解决办法 如果您使用ChatGPT登陆后遇到了持续转圈或请求429错误 可能是由于请求次数过多导致的限制 为了解决这个问题 可以尝试以下几个方法 等待一段时间后再次尝试登陆 由于请求次数过多 C
  • MongoDB图形化工具的使用与java操作

    MongoDB图形化工具的使用与java操作 MongoDB Compass Community 下载 安装 使用 介绍 MongoDB概念 新建数据库 删除数据库 新建集合 删除集合 新增文档 删除文档 修改文档 查询文档 Java操作m
  • HTML5 蔡徐坤打篮球游戏 NMSL❤️❤️❤️

    此文章来自实验楼用户dancebyte在实验楼的技术分享 希望大家喜欢 使用 es6 语法及原生 javascript 实现的蔡徐坤打篮球游戏 游戏有多种难度可选择 简单 普通 困难 极限以及非人类 非人类模式请勿轻易尝试 否则可能会疯掉
  • 查询性别的时候格式化

    SELECT CYD DEPT NAME T ID T CODE T NAME T JOB CASE WHEN T SEX 0 THEN 男 WHEN T SEX 1 THEN 女 ELSE X END AS SEX T BIRTH T P
  • 卷积神经网络(二)- 深度卷积网络:实例研究

    本次学习笔记主要记录学习深度学习时的各种记录 包括吴恩达老师视频学习 花书 作者能力有限 如有错误等 望联系修改 非常感谢 卷积神经网络 二 深度卷积网络 实例研究 一 为什么要进行实例研究 Why look at case studies
  • 在 VMware Workstation 虚拟机中创建共享文件夹的步骤〔图解〕

    本文以 VMware Workstation 7 1 4 385536 汉化版为例 讲解在虚拟机中创建 VMware 共享文件夹 vmware shared folders 的具体步骤与方法 一 安装 VMware Tools 启动好 Wi
  • yolov5识别cf火线敌人(FPS类的AI瞄准)详细教程一

    一 前言 因为自己的研究方向也是深度学习方向 而且平时闲的时候还喜欢玩会cf火线等枪战游戏 就想着找一个大模型做一个对游戏敌人的识别的功能 一切实现之后就想把自己的心得写出来 我打算分俩个教程分别细述整个学习以及操作的过程 教程一主要包括了
  • 【Python 逻辑题】甲、乙、丙、丁四人的血型各不相同

    问题 甲 乙 丙 丁四人的血型各不相同 甲说 我是A型 乙说 我是O型 丙说 我是AB型 丁说 我不是AB型 四个人中只有一个人的话是假的 解决方法 思路 四个人的血型肯定都在 A B O AB 范围内 所以用for循环让四个人轮流等于这四