Python çift olan fibonacci sayılarını alma

Tunahan Mert07

Hectopat
Katılım
24 Eylül 2021
Mesajlar
463
Çözümler
1
Yer
Antalya/Alanya
Daha fazla  
Cinsiyet
Erkek
Merhaba. Ben fibonacci sayılarının sadece ekrana çift sayılarını bastıran bir py programı istiyorum fakat def fonksiyonu falan kullanmadan yapmak istiyorum.

Kod:
"""
Fibonacci Serisi yeni bir sayıyı önceki iki sayının toplamı şeklinde oluşturur.

1,1,2,3,5,8,13,21,34....................
"""

a = 1 # a ya b'nin eski değerini
b = 1 # b ye a + b değerini vermem gerekli.

fibonacci = [a,b]

for i in range(20): # 20 tane fibonacci sayısı üret.
 print('a:{} \t b:{}'.format(a,b))
 a,b = b,a+b

 fibonacci.append(b)
print(fibonacci)
 
Son düzenleyen: Moderatör:
fibonacci içinde ilk başta 1,1 var. çift sayıları istiyorsan farklı bir array açmalısın çünkü en başta 1,1 var zaten. if koşulu içinde b değerin 2 ye tam bölünebiliyorsa fibonacci.append(b)'yi yeni oluşturduğun array'e eklemelisin. python'ı unuttum malesef umarım yardımcı olabilmişimdir
 
Dediğinizi önceden uygulamıştım fakat a ve b'nin değeri 1 olduğu için ekranda sadece 1 gözüküyor.Fakat 2 den başlatırsam bir sorun olmuyor.
 
fibonacci.append(b) yapmadan önce çift olup olmadığını kontrol edebilirsiniz.


Python:
if b%2==0:
     fibonacci.append(b)
 
Fonksiyonlardan korkmayın. İşler Fonksiyonlar girdiği zaman çok daha kolaylaşır.

Python:
from functools import lru_cache

@lru_cache
def fibo(n):
    if n < 2:
        return 1
    return fibo(n - 2) + fibo(n - 1)

fiboArr = list(map(fibo, range(20)))
even = list(filter(lambda p: p % 2 == 0, fiboArr))
print(even)
 

Konuyu bilmediğim için o şekilde dedim teşekkürler.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…