猫史档案馆


【python代码分享】库拉库斯基数列

用户:程序侯程序侯查看:0 回复:0 评论:0 创建时间:2020-10-18T14:41:58


2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1……

这个数列有一个有趣的特征:从第一项开始,相同的数字合成一个组,再按照顺序将每组的项数写下来,所得到的数列正好是它自身。这就叫做库拉库斯基数列。

from time import sleep
print('库拉库斯基数列', end = ' ')
sleep(1)
try:
    length = int(input('请输入你要计算的项数(输入小于等于0则为无线输出):'))
except ValueError:
    while True:
        try:
            length = int(input('请输入一个整数'))
        except ValueError:
            pass
        else:
            break
l = [1]
i = 0
if length <= 0:
    print(1)
    while True:
        sleep(1)
        if l[i] == 1:
            if l[-1] == 1:
                l.append(2)
                print(2)
            else:
                l.append(1)
                print(1)
        else:
            if l[-1] == 1:
                l.append(2)
                l.append(2)
                print(2)
                sleep(1)
                print(2)
            else:
                l.append(1)
                l.append(1)
                print(1)
                sleep(1)
                print(1)
        i += 1
else:
    for i in range(length):
        if l[i] == 1:
            if l[-1] == 1:
                l.append(2)
                print(2)
            else:
                l.append(1)
                print(1)
        else:
            if l[-1] == 1:
                l.append(2)
                l.append(2)
                print(2)
                print(2)
            else:
                l.append(1)
                l.append(1)
                print(1)
                print(1)


回复

上一页1 页 / 共 0下一页