之前由于要到处拜年,后来又受了刺激,所以一直没有更新blog,唉~惭愧啊,不过之前一直在看《Linux in a Nutshell》,这本书几乎都是命令的罗列,不是很适合自学使用,感觉学到的东西很零碎,并没有那种学到很多东西的感觉,还真的是不知到怎么做记录啊~这种书似乎更适合查阅。好吧,言归正传,前几天在微群上看到了一个有关编程的闯关游戏,以前也玩过类似的,不过不记得网址了,所以玩了几题就没玩了。现在这个游戏叫做pythonchallenge,目前有33关。我想一直玩下去,并记录我的闯关方法,不定期更新。
当然得从第0题开始,题目链接为http://www.pythonchallenge.com/pc/def/0.html。这一题很简单,这张图片告诉我们要算出2的38次方,然后图片低下的hint告诉我们改变URL进入下一题。那么只需要用2的38次方的结果替换0.html中的0就能得到http://www.pythonchallenge.com/pc/def/274877906944.html,这就是下一题的链接了。
也许在解题过程中会有更好的方法,但是由于是pythonchallenge,当然就要用python来解决问题啦,不然不就是去意义了吗?我为这一题提供三种使用python解决的方案:
- 在命令行中输入python -c "print 2**38"
- 在命令行中输入python并回车,然后输入print 2**38。使用这种方法时可以去掉print,直接使用2**38来得到结果,不过有一点要注意,直接使用2**38得到的结果末尾回带有L来表示这是一个long型,改变URL的时候不要把L也带上了,虽然带上了L会进入另一个页面,这个页面会提示你不需要这个L。
- 使用.py文件,代码如下:
#! /usr/bin/env python '''python challenge level 0 question url: http://www.pythonchallenge.com/pc/def/map.html ''' print 2 ** 38
以上的计算都是使用运算符**完成的,其实还可以使用pow函数来替代**进行计算,例如第一种方法可以改为python -c "print pow(2, 38)"。这就是第0题,进入下一题挑战吧。