在Python3中创建序列

2024-04-24 15:34:32 发布

您现在位置:Python中文网/ 问答频道 /正文

a=1
b=1
sum=(a+b)
for i in range(100):
print(a)
print(b)
 print(sum)

这是我当前的代码,但我不知道如何创建一个代码来进行连续加法,从而在python中生成一个具有基本数学计算的序列。我需要a+b等于c,b+c=d等等,但我不知道如何把它表达成代码。你知道吗

问题是:从两个一位数的正整数a和b开始,考虑下一个数字是前两个数字之和的1位数字的序列。当最后两个数字第一次重复a和b的值时,返回序列的长度。例如,如果a=1和b=1,函数应该返回62。你知道吗

这个序列的输出应该是1,1,2,3,5,8,3,1,4,5,9,4,3,7,0。。。当a=1和b=1时。总的来说,我只需要主要的帮助,如果我能得到我的代码编辑和修改产生的输出将不胜感激。你知道吗

我试过用python进行简单的数学计算。你知道吗

不,没有错误消息,但我需要帮助以获得所需的输出。你知道吗


Tags: 函数代码in消息编辑for错误range
3条回答

你需要这样的东西吗。希望这个逻辑能对你有所帮助。你知道吗

a=1
b=1

print("%d","%d",a,b)
for i in range(5):
 c=a+b
 print(c)
 a=b
 b=c

你可以把这个问题分成两个问题。第一个是计算序列。第二种方法是利用第一种方法的解来确定序列何时开始重复。你知道吗

第一个问题可以用generator来解决。基本上,它是一个类似迭代器的函数。你知道吗

def gen():
    a=1
    b=1
    yield a
    yield b
    while True:
        result = (a + b) % 10
        a = b
        b = result
        yield result

您可以使用打印生成的值

for value in gen():
    print(value)

但是太快了,看不见。相反,我们可以做一些事情,比如

g = gen()
print(g.__next__())
print(g.__next__())
print(g.__next__())
print(g.__next__())
# etc etc

它正确地打印序列。现在我们需要找出序列的周期。我们可以为此创建另一个函数。你知道吗

def findPeriod():
    period = 0
    a = 0
    b = 0
    for value in gen():
        b = a
        a = value
        period += 1
        if a == 1 and b == 1 and period > 2:
            return period

注意,我们知道当ab都等于1时,序列将再次重复。当这种情况发生时,函数将返回周期(不包括第一次)。你知道吗

a = int(input("Enter a :"))
b = int(input("Enter b:"))

m = a
n = b

sum = a+b
a = b
b = sum
count = 0

while a != m or b!=n:
    print("inside while")
    count +=1
    print(count)
    sum = a+b
    if sum<100:
        value = sum % 10
    else:
        value = sum % 100
    a = b
    b = value


print("The length is :")
print(count+3)

从您的查询中,我了解到您要创建的不是斐波那契级数,而是另一个。我希望上面的代码能帮助你解决你的问题。你知道吗

相关问题 更多 >