[Python Challenge通关]第10关 what are you looking at

Python Challenge全解(持续更新中) 有趣的Python Challenge编程游戏闯关攻略一(0-4关) 有趣的Python Challenge编程解谜游戏攻略二(5-9关) 有趣的Python Challenge编程解谜游戏第10关 有趣的Python Challenge编程解谜游戏第11关 ... 阅读详情

bull

len(a[30]) = ?

挑战地址,点我

分析

图片上的牛是可以点击的,点击牛打开新的页面 http://www.pythonchallenge.com/pc/return/sequence.txt,显示如下内容:

a = [1, 11, 21, 1211, 111221,

联系原来页面上的提示 len(a[30]) = ?,应该是需要找到规律,推到出第 31 项 a[30]。

想了一种规律:

假设前三项先不用管,第四项 1211 是第三项翻转一下 12 拼接上第二项翻转 11,

第五项 111221 是第四项翻转后每两个分组 [11, 21],第三项翻转 12,第三项插入第四项分组后中间 [11, 12, 21],拼接起来。

按照这样的规律,计算得到的 len(a[30]) = 1664080,替换 url,发现不正确。

搜索了一下,正确的规律应该如下:

a[0] = 1 由 1 个 1 组成,那么

a[1] = 11 由 2 个 1 组成,那么

a[2] = 21 由 1 个 2,1 个 1 组成,那么

a[3] = 1211 由 1 个 1,1 个 2,2 个 1 组成,那么

a[4] = 111221 …省略

python 中的 itertools 包中的 groupby 可以用来方便的解决。

测试一下:

#!/usr/bin/env/ python3

from itertools import groupby

a='111221'
for k, v in groupby(a):
    print(k, list(v))

输出结果:

1 ['1', '1', '1']
2 ['2', '2']
1 ['1']

可以看到 groupby 可以用来把相邻的相同的字符进行分组。

实现代码:

#!/usr/bin/env/ python3

from itertools import groupby

a='1'
for i in range(30):
    a = ''.join(str(len(list(v))) + k for k, v in groupby(a))

print(len(a))

输出结果:

5808

替换 url 就可以进入下一关 http://www.pythonchallenge.com/pc/return/5808.html

补充

也可以使用正则表达式来实现:

#!/usr/bin/env/ python3

import re

a='1'

for i in range(30):
    a = "".join([str(len(m.group(0))) + m.group(1) for m in re.finditer(r"(\d)\1*", a)])

print(len(a))

参考资源:

  1. groupby 官方文档
pythonchallenge闯关——第一弹 说在前面 pythonchallenge是一个很古老的很优秀的一款python学习路径,我也是知乎搜到后,这里安利给大家,网址是: pythonchallenge 界面是介样子的 : P.S. 本人也是python小白,在这里记录自己的学习路径,代码和思路有借鉴网络,希望大佬勿喷。 P.P.S 代码都是用python3.9实现,IDE用的sublime 第一弹 第一次看到这个图会有点懵,Hint告诉我们是要改URL的地址,而这时URL的地址是0.html,那么就应该是图片中2的38次方的结果取替换0的 阅读详情

相关推荐

Python Challenge通关攻略及代码(第0至5关)

Python Challenge是一个好玩的闯关网站,也是初学者用于练手的好材料,本文记录了第0至5关的通关攻略及代码。

fufufunny的博客 2554

Python Challenge

Level 0 [1] Hint: try to change the URL address. 第零关主要让人熟悉游戏规则和形式。首先观察标签栏主题显示的是warming up,表明这关的主题是热身。页面图片下标注一行小提示尝试改变url的地址。在没有别的提示下,明显是改成图片内的内容, 2^38。打开Python解释器,输入”2**38”,显示答案”274877906944L”。去掉L

vola的专栏 4539

postgresql 数据库 timescaledb 函数time_bucket_gapfill()报错解决及更换 license

最近在工作中使用postgresql 和 timescaledb 的time_bucket_gapfill()函数 报错,让更换license,在网上找了一大圈,没有找到,最后解决了这个问题,这篇文章记录我的解决办法查看timescaledb.license参数命令:show timescaledb.license;修改命令: 结果不行,报错如下:lter system set timescaledb.license=‘timescale’;那只能换包了如果出现上面那种情况,那我们只能先从官网上下载带 '

yang_z_1的博客 3249

Python Challenge通关攻略及代码(第6至10关)

上文介绍了Python Challenge第0至5关的通关攻略及代码,从第6关开始解谜难度开始上升,本文继续介绍第6至10关的通关攻略及代码。

fufufunny的博客 1576

openwrt编译及第一个安装包教程

Date: 2017.03.14 Made:SuperDeverloper Email: na1206@live.com Target: For mt7688 based board说明:本人在学习过程中走了不少弯路,希望本文档能为后来者提供便利。欢迎复制和使用本文档。本文档记录了搭建openwrt编译环境以及快速创建ipk包(openwrt上的安装程序)。本文档在实际应用中做过几次修改,以帮

SuperDevloper的博客 1万+

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 526

Python challenge - mission 10 第十关

http://www.pythonchallenge.com/pc/return/bull.html len(a[30]) = ? 这是源代码: <html> <head> <title>what are you looking at?</title> <link rel="stylesheet" type="text/css" h...

weixin_44521703的博客 1448

景观格局指数计算方法及代表的生态学意义(待补充)

景观指数 斑块密度(PD) 斑块密度(PD)表现某种斑块在景观中的密度,可反映出景观整体的异质性与破碎度[17],公式为PD=NP/A(1)式中NP———斑块数量,个A———景观或斑块的总面积,hm2PD———斑块密度,个/hm2 最大斑块指数(LPI) 最大斑块指数(LPI)用于确定景观中的优势斑块类型,间接反映人类活动干扰的方向和大小,公式为LPI=amaxA×100%(0≤LPI≤100%)(2)式中amax———景观或某一种斑块类型中最大斑块的面积,hm2LPI———最大斑块指数,% 凝聚

soderayer的博客 13万+

Python Challenge通关攻略及代码(第16至19关)

上文介绍了Python Challenge第11至15关的通关攻略及代码,本文继续介绍第16至19关的通关攻略及代码。

fufufunny的博客 1542

DisplayPort 1.4扰码原理与16位并行LFSR实现

DisplayPort物理层信号完整性依赖于数据扰码技术,其本质是通过线性反馈移位寄存器(LFSR)对传输数据进行伪随机化处理,以改善频谱分布、抑制低频能量堆积、提升时钟恢复能力并降低EMI辐射。该技术广泛应用于高速串行接口如DP、PCIe和USB,核心在于确定性伪随机序列生成与收发端同步。DisplayPort 1.4强制要求符合ANSI X3.230标准的16级LFSR,并在8b/10b编码后执行扰码;而传统串行实现难以满足21.6Gbps速率下的时序约束,必须采用并行展开结构——将16拍移位压缩为单周

weixin_29192211的博客 313

视觉定位避坑指南:基于双mark点的坐标转换常见错误排查

本文详细解析了工业视觉项目中基于双mark点的坐标转换常见错误及排查方法,涵盖旋转矩阵构建、坐标系原点选择、图像预处理优化等关键环节。通过实战案例和代码示例,帮助工程师避免定位偏差,提升系统精度,特别适用于自动化检测和精密制造场景。

7z8x2c4v6b9的博客 167

Python Challenge通关攻略及代码(第11至15关)

上文介绍了Python Challenge第6至10关的通关攻略及代码,本文继续介绍第11至15关的通关攻略及代码。

fufufunny的博客 851

论文精读-ReTransformer ReRAM-based Processing-in-MemoryArchitecture for Transformer Acceleration

Transformer已经成为一种流行的深度神经网络(DNN)模型,用于神经语言处理(NLP)应用,并在神经机器翻译、实体识别等方面表现出优异的性能。然而,其在自回归解码器中的规模化点积注意机制在推理过程中带来了性能瓶颈。Transformer也是计算和内存密集型的,需要硬件加速解决方案。

a284365的博客 1922

[Python Challenge通关]第6关 now there are pairs

挑战地址,点我 分析 右键查看网页源代码看一下: &lt;html&gt; &lt;!-- &lt;-- zip --&gt; &lt;head&gt; &lt;title&gt;now there are pairs&lt;/title&gt; &lt;link rel="stylesheet" type="text/css" href="../s

蒋故事的专栏 544

Windows 下 Codex 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Codex 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Codex 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 方案一 2.2 方案二 3. 报错解决方案

weixin_43178406的博客 14万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python第七关_[Python Challenge通关]第7关 smarty

挑战地址,点我分析图片中间有一条灰色带,就像打了马赛克,右键查看网页源代码也没有任何提示信息。那应该需要处理这条灰色的马赛克了,python 标准库中并没有处理图片的,需要用到第三方图像处理模块 pillow。#!/usr/bin/env/ python3import urllib.requestimport iofrom PIL import Image# 从图片链接读取url = 'http:...

weixin_32254243的博客 411

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

python第六关囚徒困境_[Python Challenge通关]第6关 now there are pairs

挑战地址,点我分析右键查看网页源代码看一下:now there are pairs 中间一长段的注释是在说捐赠的事情,并且作者说明了与这一关的问题没有关系。那唯一的提示,就是最上面的 zip 常见的是压缩包的意思,其实还有拉链的意思,这就和图片对应起来了。再看下这一关的主题now there are pairs,关键词 pairs 成对的,zip 左侧还有一个箭头指向 html。确实如此,...

weixin_42282638的博客 467

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[Python Challenge通关]第2关 ocr

第 2 关 挑战地址,点我 问题 recognize the characters. maybe they are in the book, but MAYBE they are in the page source. 分析 根据提示我们需要右键查看页面源码,我们可以看到有一段提示,和一堆字符: &amp;amp;lt;!-- find rare characters in the mess below: ...

蒋故事的专栏 510

Python challenge 第18关 can you tell the difference?

第18关, http://www.pythonchallenge.com/pc/return/balloons.html 图上是除了亮度其他都一样的话, 标题为can you tell the difference? 网页源代码中有‘it is more obvious that what you might think’ 连起来就是,你能说出这里的不同点吗?非常明显。那么自然就是亮度的区别,输入...

weixin_44521703的博客 547

Python Challenge通关秘籍:手把手教你破解前5关的隐藏谜题

本文提供了一份详细的Python Challenge前5关通关攻略,手把手教你如何将谜题转化为Python代码逻辑。文章从思维转换入手,逐步讲解了字符映射、数据筛选、模式识别、网络请求自动化以及文件序列化等核心技巧,帮助你掌握破解隐藏谜题的关键方法,提升计算思维和编程实战能力。

weixin_28678151的博客 630

[Python Challenge通关]第7关 smarty

挑战地址,点我 分析 图片中间有一条灰色带,就像打了马赛克,右键查看网页源代码也没有任何提示信息。 那应该需要处理这条灰色的马赛克了,python 标准库中并没有处理图片的,需要用到第三方图像处理模块 pillow。 #!/usr/bin/env/ python3 import urllib.request import io from PIL import Image # 从图片链接读...

蒋故事的专栏 501

[Python Challenge通关]第5关 peak hell

第 5 关 挑战地址,点我 问题 pronounce it 分析 页面干干净净,没有任何信息,我们右键查看网页源代码看一下。 &lt;peakhell src="banner.p"/&gt; &lt;/body&gt; &lt;/html&gt; &lt;!-- peak hell sounds familiar ? --&gt; 这里有一段提示 peak hell sounds famil...

蒋故事的专栏 506

[Python Challenge通关]第3关 re

第 3 关 挑战地址,点我 问题 One small letter, surrounded by EXACTLY three big bodyguards on each of its sides. 一个小写字母,每边都有三个大保镖。 分析 联想到上一关,我们再右键查看页面源码,可以看到也有一堆字符,根据提示信息,我们需要找到左右两边都被3个大写字母包围的小写字母。我们可以使用正则表达式来实...

蒋故事的专栏 633

[Python Challenge通关]第11关 odd even

挑战地址,点我 分析 页面上是一张模糊的图片,提示信息只有这一关的主题 odd even。 仔细看图片,上面有一些重影,考虑应该是需要分离出奇数和偶数像素。 奇数和偶数像素怎么定义?现在有两个维度,可能有如下集中方式: 只考虑 x 只考虑 y 考虑 x + y 同时考虑 x 和 y ...

chichou0702的博客 313

Python Challenge第19关挑战

由于工作紧张的原因很久没更新博客,实在对不住,说声抱歉大家了!!!之前立了个flag说要闯一下pythonchallenge看能到哪,后面几关真是越来越摸不着头脑了,好久才搞定了第20关,记录如下: 首先是查看源代码,发现里面有超长的一段注释,且告诉了我们使用base64编码,是一个wav文件,因此,首先我们拿到注释,代码中的get_comment函数; 接着将其写入wav文件,parse_dat...

weixin_44521703的博客 842
上一篇: [Python Challenge通关]第9关 connect the dots
下一篇: [Python Challenge通关]第11关 odd even
蒋故事
博客等级 码龄12年 1粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值