Python挑战游戏( PythonChallenge)闯关之路Level- 5

article/2025/9/12 14:46:32

时隔两个月, 又重新回来写博客了

今天重新来做这个挑战题目


首先入口地址:http://www.pythonchallenge.com/pc/def/peak.html

打开来看, 没错,你没有看错,只有一副画


然后画的下面 有一句话  "pronounce it",   什么鬼! 它的发音???

只看这个看不出来什么意思.


那么按照以往的经验, 直接F12 看网页源码吧

<html>  
<head>  <title>peak hell</title>  <link rel="stylesheet" type="text/css" href="../style.css">  
</head>  
<body>  
<center>  
<img src="peakhell.jpg"/>  
<br><font color="#c0c0ff">  
pronounce it  
<br>  
<peakhell src="banner.p"/>  
</body>  
</html>  <!-- peak hell sounds familiar ? -->  

这样明显看到有一个文件  banner.p, 直觉认为需要打开它 :http://www.pythonchallenge.com/pc/def/banner.p

这样我们看到了一个乱码的文本文件

接着这个源码下面有一句提示“peak hell sounds familiar ”!   这一句话就比较重要了

前面说他的发音, 这里提示说, 发音和“peak hell ” 类似,   再结合python的知识, 这一关应该是要用到 pickle 这个包了(我不会告诉你我是查看别人的)!


好了,分析工作完成,将这个文件内容下载到本地,然后执行解析程序如下(报告老板,他是抄的):

#!/usr/bin/python
# coding:utf-8import picklef=open('1.txt')
for line in pickle.load(f):print ''.join([x[0] * x[1] for x in line])f.close()
然后得到了下面的结果:

                                                                                               #####                                                                      ##### ####                                                                       #### ####                                                                       #### ####                                                                       #### ####                                                                       #### ####                                                                       #### ####                                                                       #### ####                                                                       #### ###      ####   ###         ###       #####   ###    #####   ###          ###       #### ###   ##    #### #######     ##  ###      #### #######   #### #######     ###  ###     #### ###     ###  #####    ####   ###   ####    #####    ####  #####    ####   ###     ###   #### ###           ####     ####   ###    ###    ####     ####  ####     ####  ###      ####  #### ###           ####     ####          ###    ####     ####  ####     ####  ###       ###  #### 
####           ####     ####     ##   ###    ####     ####  ####     #### ####       ###  #### 
####           ####     ####   ##########    ####     ####  ####     #### ##############  #### 
####           ####     ####  ###    ####    ####     ####  ####     #### ####            #### 
####           ####     #### ####     ###    ####     ####  ####     #### ####            #### ###           ####     #### ####     ###    ####     ####  ####     ####  ###            #### ###      ##  ####     ####  ###    ####    ####     ####  ####     ####   ###      ##   #### ###    ##   ####     ####   ###########   ####     ####  ####     ####    ###    ##    #### ###     ######    #####    ##    #### ######    ###########    #####      ###      ######

也就是说下一关的地址是:http://www.pythonchallenge.com/pc/def/channel.html

关于它本关更多的解决方案:http://wiki.pythonchallenge.com/index.php?title=Level4:Main_Page


那现在回头来看一下 pickle 这个包是什么意思

百度一下,得到这样的答案

加工数据的,可以用来存取结构化数据。举个例子:

一个字典a = {'name':'Tom','age':22},用pickle.dump存到本地文件,所存数据的结构就是字典,而普通的file.write写入文件的是字符串。读取时,pickle.load返回的是一个字典,file.read返回的是一个字符串。如下代码:

1
2
3
4
5
6
7
import  pickle
=  { 'name' : 'Tom' , 'age' : 22 }
with  open ( 'text.txt' , 'wb' ) as  file :
     pickle.dump(a, file )
with  open ( 'text.txt' , 'rb' ) as file2:
     =  pickle.load(file2)
print ( type (b))

得到的b的类型是字典,b和a是等价的,也就是说pickle可以把字典、列表等结构化数据存到本地文件,读取后返回的还是字典、列表等结构化数据。而file.write、file.read存取的对象是字符串。这个叫做持久化数据存贮

这个东东看着(bu)好(ming)高(jue)大(li)上的样子,有木有!

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。


一些更多pickle的知识:http://blog.csdn.net/qiqiyingse/article/details/77747777



本关小结:

本关收货最大的一点其实就是了解到了 pickle这个模块.

让我们发散思维一下, 现在密码那么多,总想把他找个地方全部记下来, 那么使用pickle的dump方法将密码存贮起来,

等到自己忘记了, 在找回来,起码这种方式,被别人拿到,他也不知道怎么破解!(程序员的思维,哈哈哈!)





http://chatgpt.dhexx.cn/article/QKnbWPNo.shtml

相关文章

pythonchallenge第0关

pythonchallenge第0关 点击打开链接 仔细观察第0关的图片&#xff1a;数字以英语提示&#xff08;Hint:try to change the URL address 尝试改变 统一资源定位符的地址&#xff09; 这就很简单了。 >>> 2 ** 38 274877906944L >>> 也即&#xff1a;http…

Python挑战游戏( PythonChallenge)闯关之路Level- 6

来来来&#xff0c;难得今天有点时间&#xff0c;闯关继续 照旧&#xff0c;先进入闯关入口&#xff0c;看一看这一关是怎么回事&#xff1a;http://www.pythonchallenge.com/pc/def/channel.html 单纯的从网页页面上来看&#xff0c; 一个有拉锁的图片&#xff0c; 下面一个写…

Python菜鸟快乐游戏编程_pygame

曾经我也沉迷游戏&#xff0c;连续玩十几个小时竞技游戏可以不吃饭。游戏只是别人写好程序&#xff0c;与其沉迷于他人设计好程序&#xff0c;为何不自己设计游戏&#xff0c;至少学会编程后&#xff0c;我们的月收入上万不是问题。于是便有了录制这部pygame菜鸟游戏编程教程动…

【pythonchallenge】【问题1】

网页标题&#xff1a;What about making trans?问题网址&#xff1a;http://www.pythonchallenge.com/pc/def/map.html问题描述&#xff1a;问题给了个图片&#xff0c;是map的对应关系&#xff0c; everybody thinks twice before solving this. g fmnc wms bgblr rpylqjyrc…

Python挑战游戏( PythonChallenge)闯关之路Level- 1

闯关过程 关卡入口地址&#xff1a; http://www.pythonchallenge.com/pc/def/map.html 打开页面是这样的&#xff1a; 在图中的你内容&#xff0c;可以看到 K->MO->QE->G 直观上感受是&#xff0c;字符串对应解析 也就是说&#xff0c;26个英文字符依次和图片下面的…

chatgpt赋能Python-pythonchallenge

Python Challenge: 挑战你的Python技能 如果你正在寻找一种提高Python编程技能的有趣方法&#xff0c;那么Python Challenge是一个不错的选择。Python Challenge是一个在线的puzzle游戏&#xff0c;每个挑战都需要使用Python编写程序来解决。这些挑战是由一个名叫Nadav Samet的…

Python Challenge 第2关

http://www.pythonchallenge.com/pc/def/ocr.html recognize the characters. maybe they are in the book, but MAYBE they are in the page source. 第2关&#xff1a;从现在开始&#xff0c;要从页面中寻找答案了。其实是在注释中。从页面源码中可以发现其有一段注释&#x…

pythonchallenge(0-4)

pythonchallenge 0&#xff1a;网址&#xff1a;http://www.pythonchallenge.com/pc/def/0.html 网页提示&#xff1a;try to change the URL addres。网站的图片提示如下&#xff1a; 图片的意思是网址为2的38次方 print(2**38)得到下一关的网址&#xff1a;http://www.pyt…

Python Challenge

Level 0 [1] Hint: try to change the URL address. 第零关主要让人熟悉游戏规则和形式。首先观察标签栏主题显示的是warming up&#xff0c;表明这关的主题是热身。页面图片下标注一行小提示尝试改变url的地址。在没有别的提示下&#xff0c;明显是改成图片内的内容&#xff0…

pythonchallenge(5-9)

pythonchallenge 5&#xff1a;网址&#xff1a;http://www.pythonchallenge.com/pc/def/peak.html 查看页面源代码有提示.peak hell sounds familiar.考察的是标准库pickle的。pickle模块用来实现python对象的序列化,反序列化。构建payload: import urllib.request as urt i…

Python Challenge 题解 [0-4]

Challenge 0 转到 Python Challenge 题目0 分析 从图片中可看出,该题的答案应为2的38次方 完整程序 2**38Challenge 2 转到 Python Challenge 题目 everybody thinks twice before solving this. g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dm…

pythonchallenge闯关——第一弹

说在前面 pythonchallenge是一个很古老的很优秀的一款python学习路径&#xff0c;我也是知乎搜到后&#xff0c;这里安利给大家&#xff0c;网址是&#xff1a; pythonchallenge 界面是介样子的 &#xff1a; P.S. 本人也是python小白&#xff0c;在这里记录自己的学习路径&…

PythonChallenge闯关详解

前言 PythonChallenge是国外的一位工程师设计的一套编程闯关游戏&#xff0c;网址&#xff1a;PythonChallenge&#xff0c;每一关都可以用一段Python程序解决问题得到下一关的入口&#xff0c;本博文作为一个学习笔记&#xff0c;通过边学边记的方式分享我的闯关经验。 0 图片…

scanf返回值被忽略问题

解决Visual Studio中scanf返回值被忽略问题 最近在使用Visual Studio编写c语言时遇到了scanf返回值被忽略问题 总结了如下几种解决方法&#xff1a; 方法一&#xff08;不建议&#xff09; scanf修改成 scanf_s 可以说scanf_s是vs编译器特有的&#xff0c;它认为scanf不安全&…

scanf库函数的返回值

目录 一背景&#xff1a; 二 scanf返回值规则 1.在格式字符串为用%d的情况下 (1)输入5 6此时scanf能正确读入的数据为两个&#xff0c;返回值为2 scanf正确读入概念补充 (2)如果输入5 t此时能正确读入的数据为1个&#xff0c;返回值为1。 (3)如果输入1 2.5 (4)输入t 5&a…

scanf的返回值被忽略

scanf的返回值被忽略 在编译器VS2019和VS2022中&#xff0c;在使用scanf函数时会报错&#xff0c;具体错误scanf的返回值被忽略。 解决办法 方法一 可以直接将scanf改成scanf_s,因为编译器觉得scanf_s这是比较安全的函数。 方法二 我们可以关闭VS2019和VS2022编译器的安全检查…

scanf返回值被忽略的办法

1、右击项目&#xff0c;点击属性 2、在预处理定义中输入_CRT_SECURE_NO_WARNINGS&#xff0c;点击确认 需要注意的是如果再创建了一个项目需要重新再设置一次哦&#xff01;或者把sanf改为scanf_s也可以哦。

为什么VS/VsStudio当中警告返回值被忽略“scanf” ?VsStudio中scanf返回值被忽略的原因及其解决方法

警告原因&#xff1a;Vs 认为 scanf 函数不安全 所以提示警告⚠ 解决方案一&#xff1a; 只需将 scanf() 替换为 scanf_s() 原因&#xff1a;scanf_s 是 VsStudio自己定义的函数 功能和 scanf() 类似&#xff0c; 所以不会有警告 优点&#xff1a; 正常运行不会再有警告 …

VS2022中scanf返回值被忽略的原因及其解决方法

额 产生原因&#xff1a; scanf()函数在读取时不检查边界&#xff0c;所以可能会造成内存泄漏。有一定的安全隐患。 此时会提醒你把scanf换为scanf_s&#xff1b;BUT&#xff0c;scanf_s是VS特有的函数&#xff0c;写了之后在别的编译器上就无法执行&#xff0c;使得代码的可移…

scanf返回值

转载于:https://www.cnblogs.com/fairy-wzp/p/6926244.html