python挑战之level 10

链接为:http://www.pythonchallenge.com/pc/return/bull.html

可能会遇到输入密码的弹窗:依旧是前面一关的密码: (huge, file)

————————————————————————————————

可以看见图片是一副画,两头牛。下面提示:len(a[30])=?

点击一下大牛的身上,会转到另一个页面:   

 显示的结果为:

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

现在我们来看看图片的源代码:其实这个a就是sequence.txt

那么这是什么意思呢??

       我没观察这个序列的特点。所以不懂接下来如何进行。

       所以我百度了一下,原来这是一个特别的数列,康威常数是 Look-and-say sequence ,然后求出a【30】的长度,即我们需要求出第三十一个数字。

——————————————————————————————————————————————————


import re

a='1'
arraylist=''
m=1
def nextnode(n,strs,time):
'''
n,为计算行数
strs,为初始字符串
time,计算次数初始值
'''
    a=strs
    tmp=''
    time=time
    if n==1:
        print('结束')
        return a
    else:
        pos=0
        alength=len(a)
        while pos<alength:
            i=1
            while pos+1<len(a) and a[pos]==a[pos+1]:
                pos=pos+1
                i=i+1
            #临时保存每一次计算的结果
            tmp=tmp+'%d%s'%(i,a[pos])
            pos=pos+1
        #循环计数
        time=time+1
        #print('第%d次循环结果为:'%time,tmp)		
        return nextnode(n-1,tmp,time)
			
if __name__=='__main__':
    a=nextnode(31,a,1)
    print(a)
    print(len(a))


——————————————————————————————————————————

代码迭代的过程写的很不顺利。花费了一个多小时,看来还需要多努力啊。。。

我看了看别人给出的答案,非常简单啊。。

谢谢这个哥们我参考了很多http://blog.youkuaiyun.com/kosl90/article/details/7265750


————————————————————————————————————————

所以,最后的答案5808

那么下一个连接为:http://www.pythonchallenge.com/pc/return/5808.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值