SEQUÊNCIA DE FIBONACCI NO VETOR

68 views
Skip to first unread message

Edwilson Santos

unread,
Jun 11, 2021, 10:07:39 PM6/11/21
to Python Brasil
Estou começando agora no Python e estou com muitas duvidas, fiz um codigo para a sequencia de fibonacci e esta dando um erro. 
Exercicios: Escreva um programa que leia um número inteiro N, positivo e maior do que 2.

Em seguida, crie e imprima um vetor de N posições, sendo que cada posição deve ser preenchida com um valor correspondente da sequência de Fibonacci.

Meu codigo: 

from numpy import*

n = arrat(eval(input("Quantos termos voce quer mostrar: )))

seq = [ ]

z =  zeros(n, dtype = int)

a, b = 0, 1

while( a < n):

        seq.append(a)

        a, b = b, a+b

v = seq + z #Saida nao pode conter virgulas

print(v)


O Erro esta contecendo pq funciona ate n = 6, apos isso da erro

Alfredo Vilela

unread,
Jun 13, 2021, 11:12:30 AM6/13/21
to python...@googlegroups.com
Edwilson,

Sem fazer muita alteração na sua lógica, vc tem que criar um contador. Utilizando a variável  'a' estoura o valor e não passa de 7 termos.

a  |  b  |  a+b  |  v
0     1     0+1     [0 1]
1    1      1+1     [0 1 1]
1    2      1+2     [0 1 1 2]
2    3      2+3     [0 1 1 2 3]
3    5      3+5     [0 1 1 2 3 5]
5    8      5+8     [0 1 1 2 3 5 8]
8 <- Aqui o 'a' recebe 8 que é maior que 7 termos

Sem contar que array está escrito errado (arrat) e falta aspas no input (...mostrar: ")



from numpy import*

n = array(eval(input("Quantos termos voce quer mostrar: ")))


seq = [ ]

z =  zeros(n, dtype = int)

a, b = 0, 1

cont = 0                    

while( cont < n):


        seq.append(a)

        a, b = b, a+b

        cont = cont + 1


v = seq + z #Saida nao pode conter virgulas

print(v)
--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/64961ccf-0549-4014-9e62-08ad5694e9c2n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages