码迷,mamicode.com
首页 > 编程语言 > 详细

Python Challenge 过关心得(0)

时间:2015-07-28 17:20:01      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

       最近开始用Openerp进行开发,在python语言本身上并没有什么太大的进展,于是决定利用空闲时间做一点python练习。

       最终找到了这款叫做Python Challenge(http://www.pythonchallenge.com)的编程游戏。

       这款游戏年代十分久远了,不过据说题目难度到后面挺大,我很怀疑会在某些关卡卡上很长一段时间,反正就尝试着做做看吧,能做多少做多少,现在水平低就做前面的简单的,等水平上去了再慢慢挑战后面的关卡。

       最开始的其实是第0关,图片上是一个数字238,下方提示:try to change the URL address。一上来果然没有任何难度,只要按照提示把URL某个部分改成238的结果应该就行了。这一关题目本身很简单,为了充实一点内容,再进行一些发散思维好了。

       首先由URL想到,现在的英文缩写太多了,然而好多英文缩写我只知道它是什么,浮躁的心态却使得我并不知道它的全称是什么。比如说“Wi-Fi”,相信大部分手机用户都离不开它,却并不知道它的全称是什么,有一点英语基础的人(比如我)大概能猜到“Wi”是“Wireless”的缩写,然而却几乎不去关心“Fi”是怎么来的。度娘之后才知道,原来“Fi”是“Fidelity”(保真度)的缩写,因此“Wi-Fi”的全称是“Wireless Fidelity”(无线保真技术)。顺便再补充一下URL的全称:Uniform Resource Locator(统一资源定位符)。

       接下来用python计算238。直接输入2**38,即可得到结果274877906944。在参考其他答案的时候,发现乘方还有一种写法:pow(2,38)。在一些古老的python教程里看到说pow()函数必须先导入math模块,然而我并没有导入依然可以直接使用pow()。最后在某乎找到了答案,于是去python官方文档进行确认之后最终得出了结论:虽然在math模块中确实有pow()函数,但是在python中有一些函数叫做Built-in Functions(内建函数),其中也有一个pow()。而这两个pow()并不是完全一样的,其中math.pow()会将参数转变成float形,内建的pow()和**则是同样的作用。举个例子,2**2和pow(2,2)的结果都是4,而import math之后,math.pow(2,2)的结果将是4.0。

       言归正传,这一关的过关密码是274877906944,那么我们只要将第0关的URL地址里的0改成274877906944即可正式进入第1关。

 

Python Challenge 过关心得(0)

标签:

原文地址:http://www.cnblogs.com/zengkly/p/4683037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!