多个域名绑定同一网站,中国建设网站下载,网络推广方式有哪些,深圳南山工厂网站建设费用这是一个简单的魔术戏法。 看完这个魔术,我觉得它令人着迷。下面是这个戏法的流程: 首先,魔术师让你选择0到60之间的一个数字,并记住它。 然后,魔术师手上有6张牌。接着,魔术师告诉你,当你在牌中看到你选择的数字时说“是”,否则说“否”。 最后,在聆听了你所有的回答后,魔术师… 这是一个简单的魔术戏法。 看完这个魔术,我觉得它令人着迷。下面是这个戏法的流程: 首先,魔术师让你选择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[i2]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(0bans.replace(No,0).replace(Yes,1)[10:len(strg):12][::-1],2) 测试通过满足一行代码且满足106个字符以内。 本文由 mdnice 多平台发布