简单的魔术戏法

这是一个简单的魔术戏法。

看完这个魔术,我觉得它令人着迷。下面是这个戏法的流程:

首先,魔术师让你选择0到60之间的一个数字,并记住它。

然后,魔术师手上有6张牌。接着,魔术师告诉你,当你在牌中看到你选择的数字时说“是”,否则说“否”。

最后,在聆听了你所有的回答后,魔术师可以感知你记住的数字,并揭示出来。

任务:

你的任务是扮演魔术师的角色。

我会给你一个字符串,代表观众的回答。

你需要猜出观众选择的数字。

"|牌1:是|牌2:是|牌3:是|牌4:是|牌5:否|牌6:是|" -> 47

高能提醒:只能使用1行代码,106个字符。

参考 4 个栗子:

47, "|牌1:是|牌2:是|牌3:是|牌4:是|牌5:否|牌6:是|")

46, "|牌1:否|牌2:是|牌3:是|牌4:是|牌5:否|牌6:是|"

55, "|牌1:是|牌2:是|牌3:是|牌4:否|牌5:是|牌6:是|")

38, "|牌1:否|牌2:是|牌3:是|牌4:否|牌5:否|牌6:是|")

思路分析:

难度在于找规律。以上是一些示例输入和对应输出,用于测试魔术师揭示选择数字的代码逻辑。你需要仔细观察给出的测试用例,

第一组测试用例是一个全部"是"的输入,对应输出为47,验证了将"是"转换为1后,可以正确得到二进制011111,即十进制47。

其他测试用例覆盖了"否"的不同位置,验证了在"否"对应的位置0是否正确。

通过不同的测试用例,可以全面验证代码的准确性,保证各种情况下都可以正确实现这个简单有趣的魔术效果。

def magic_show(ans):
    # reverse divmode
    strg = ['1' if ans[i+2]=='Y' else '0' for i,e in enumerate(ans) if e == ':']

    return int('0b'+''.join(strg)[::-1],2)

通过所有的测试用例,但代码长度176超过题目要求,不符合一行代码搞定。

继续思考 ... ...

切片是好,但需要先数组工整,替换为长度为1的“1”和“0”

def magic_show(ans):
    return int('0b'+ans.replace('No','0').replace('Yes','1')[10:len(strg):12][::-1],2)

测试通过,满足一行代码且满足106个字符以内。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes集群故障排查—审计

Kubernetes 审计(Auditing) 功能提供了与安全相关的、按时间顺序排列的记录集, 记录每个用户、使用 Kubernetes API 的应用以及控制面自身引发的活动。 审计功能使得集群管理员能够回答以下问题: 发生了什么?什么时候…

算法竞赛备赛之经典数据结构训练提升,暑期集训营培训

1.链表与邻接表:树与图的存储 我们将结构体和指针结合来实现链表 struct Node {int val;Node * next; }; ​ new Node;//这样创建结点是相当慢的 我们算法主要是用数组来模拟链表,这样效率会高一些。 数组模拟单链表 邻接表:存储图和树 实…

(css)自定义el-dialog对话框添加背景图片

(css)自定义el-dialog对话框添加背景图片 效果: // 文件管理对话框 /deep/ .el-dialog {background: transparent;background-image: url("../assets/image/file-upload-background.png");background-size: 100% 100%; } // 头部 /deep/ .el-dialog__titl…

Nginx 301重定向分析

参考; 404 - 墨天轮 深度硬核文:Nginx的301重定向处理过程分析 - 知乎 Nginx的301状态码处理逻辑设计 HTTP协议中3xx开头的状态响应码都是表示重定向的响应。根据RFC的定义: 301 Moved Permanently 302 Found 303 See Other 307 Temporary Redirect 301是永…

seq2seq、attention、self-attention、transformer、bert

seq2seq seq2seq:输入序列,输出序列,将输入的语言转为一个向量,最后输出再将向量转为语言shortcoming:The final state is incapable of remembering a long sequence.即太长了记不住 attention 用attention可以改进seq2seq中的…

Day 63 : 集成学习之 AdaBoosting (1. 带权数据集)

63.1 AdaBoosting基本算法:先从初始训练集训练一个弱学习器,在根据弱学习器的表现对训练样本进行权重调整,经过若干轮之后,将得到一组分类器,将数据输入这组分类器后会得到一个综合且准确的的分类结果。“三个臭皮匠&a…

C++ 单例模式(介绍+实现)

文章目录 一. 设计模式二. 单例模式三. 饿汉模式四. 懒汉模式结束语 一. 设计模式 单例模式是一种设计模式 设计模式(Design Pattern)是一套被反复使用,多数人知晓的,经过分类的,代码设计经验的总结。 为什么要有设计模式 就像人类历史发展会…

WEB:wife_wife

背景知识 JavaScript原型链污染 题目 先尝试一下,注册了管理员账号 这里不知道邀请码,所以没有勾选 答案不正确 这里借鉴其他大佬的思路 查看源代码才知道,后端没有数据库,所以sql注入是不可能的 // post请求的路径 app.pos…

【网络】应用层——协议定制 | 序列化和反序列化 | 初识http

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 在前面本喵已经带大家见识过了scoket网络通信的样子,现在开始深入学习网络的原理&#xff…

机器学习 day29(高偏差、高方差,参数d对模型的影响)

1. 高偏差、高方差、拟合能力、泛化能力 偏差和方差分别代表拟合能力和泛化能力若给左图数据集拟合一阶多项式(d取1),则该模型有很高的偏差(欠拟合)。因为它对训练集和验证集的表现均不好,所以Jtrain很高…

快手内推(2024校招,社招)

校招 校招可以直接投递,如果想投递指定部门或岗位的可以私聊我。可以帮看简历和面试状态,加快推进。 内推码:vlxMTFNBS 专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?codevlxMTFNBS 社招 社招内推私聊,可…

[Java]详解什么是注解以及如何自定义注解?

文章目录 一、什么是注解(1).注解的作用(2).注解的格式(3).注解在哪里使用 二、注解的类型(1).内置注解(2).元注解(3).自定义注解 三、自定义注解实现及测试结果: 一、什么是注解 (1).注解的作用 ①:注解一般用于对程序的说明,就像注释一样…

RabbitMQ的交换机的四种类型

RabbitMQ的交换机的四种类型 一、Direct类型交换机 Direct类型交换机 ///1.在发送消息的时候,通过Direct类型的路由转发; //要求Direct类型交换机和队列绑定;绑定需要一个标识,生产者在发送消息的时候,也需要指定一个…

windows系统修改mysql8配置文件,关闭ssl验证

如何寻找配置文件 我的电脑,右键,管理,服务 找到MySQL8 右键,属性 找到配置文件位置 通常情况下的默认路径是: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini 如何关闭SSL验证 打开 my.ini 配置内容如下&#x…

算法:HJ23 删除字符串中出现次数最少的字符

描述 实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 数据范围:输入的字符串长度满足 1≤n≤20 ,保…

【100天精通python】Day7:数据结构_列表 List的创建、删除、访问、遍历、统计、排序、推导等使用

目录 1 列表的创建 2 列表的删除 3 访问列表元素 4 遍历列表 5 添加修改删除列表元素 6 对列表进行统计和计算 7 对列表进行排序 8 列表推导式 9 多维列表 在Python中,列表是一种有序的可变数据类型,用于存储一组元素。 列表使用方括号“[] ”来…

Qt5.14.2下载及安装

1. 下载 https://download.qt.io/archive/qt/5.14/5.14.2/ 由于Qt 自从5.15版本开始,对非商业版本(也就是开源版本),不提供已经制作好的离线exe安装包。所以,对于5.15(含)之后的版本&#xff…

软件智能:aaas系统全部内容 之序 零-AI三部曲 (重新汇总整理)

想法ideal 这次的重新整理是希望作为所有过去整理过和思考过的内容的一个类似词典编纂的工作,将之前的东西打乱以后能挂靠在这个词典的下面。 想法是以“人工智能”的语义为焦点(统一行为特征,注1),并将语用作为结构…

Idea 设置类和方法的注释(获取参数)

Idea 添加注释:类注释、方法注释 类注释 方法注释 类注释 File–Setting–Editor–File and Code Templates–Class: 注释模板: /** **description: *author: fqtang*time: ${DATE} ${TIME}* */ 操作截图: 效果: 方法注释 为了…

图数据库Neo4j学习二——cypher基本语法

1命名规范 名称应以字母字符开头,不以数字开头,名称不应包含符号,下划线除外可以很长,最多65535( 2^16 - 1) 或65534字符,具体取决于 Neo4j 的版本名称区分大小写。:PERSON和:Person是:person三个不同的标签&#xff…