Fibonacci sayısını hesaplayan bir program yazalım.
Yöntem 1: Özyineleme:
def Fibonacci(n):
if n<0:
print("Yanlış Sayı Girdiniz")
# Birinci Fibonacci sayısı return 0
elif n==1:
return 0
# İkinci Fibonacci sayısı return 1
elif n==2:
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2)
# Programı Çalıştıralım
print(Fibonacci(9))
Yöntem 2: Dinamik Programlama:
# İlk iki fibonacci sayısını 0 ve 1 olarak alalım
FibArray = [0,1]
def fibonacci(n):
if n<0:
print("Yanlış Sayı Girdiniz")
elif n<=len(FibArray):
return FibArray[n-1]
else:
temp_fib = fibonacci(n-1)+fibonacci(n-2)
FibArray.append(temp_fib)
return temp_fib
# Programı Çalıştıralım
print(fibonacci(9))
Yöntem 3: Bir sayının Fibonacci sayısı olup olmadığını kontrol etme:
# math kütüphanesini import ediyoruz
import math
def isPerfectSquare(x):
s = int(math.sqrt(x))
return s*s == x
# N bir fibonacci sayısı ise true değilse false döndür
def isFibonacci(n):
return isPerfectSquare(5*n*n + 4) or isPerfectSquare(5*n*n - 4)
# 1 ile 11 arasında ki sayıları test edelim
for i in range(1,11):
if (isFibonacci(i) == True):
print (i,"sayısı Fibonacci Sayısıdır")
else:
print (i,"sayısı Fibonacci Sayısı Değildir")
Python dersleri için buraya gidebilirsiniz..
def isogram(str):
return len(str) == len(set(str.lower()))
print(isogram(“camaat”))
def myFunction(word,letters):
for i in word:
if i == ‘ ‘:
print(‘ ‘,end=”)
elif i == ‘!’:
print(‘!’,end=”)
else:
if i not in letters:
i = ‘-‘
print(i,end=”)
else:
print(i,end=”)
myFunction(“come on!”, [“e”, “a”, “y”])