Hints:
1. 图片下方有一串字符“len(a[30]) = ?“,可以猜出跟数组/列表有关。
2. 把鼠标放到图片上可以发现有一个链接,点击链接后出现一串数字:“a = [1, 11, 21, 1211, 111221, ”。从这我们可以看出是需要我们找出这些数字的规律,然后算出第第三十个数字a[30]的长度。
通过查询资料发现可以利用python 的 函数来实现。
| itertools.groupby() 函数接受一个序列和一个key 函数, 并且返回一个生成二元组的迭代器。每一个二元组包含key_function(each item) 的结果和另一个包含着所有共享这个key结果的元素的迭代器 |
import itertools
def next_morris(number):
return ''.join('%s%s'%(len(list(group)),digit)
for digit,group in itertools.groupby(str(number)))
if __name__=="__main__":
start=1
a=[1]
i=0
while i<31:
next_num=next_morris(a[i])
a.append(next_num)
i+=1
print len(a[30])
|
阅读(398) | 评论(0) | 转发(0) |