import sys # Kütüphanemizi çağırıyoruz.
# Bu alttaki fonksiyonda bir değerin palindrom olup olmadığını kontrol ediyoruz.
def areYouPalindrome(inputLen, myInput):
returnVal = True
if inputLen >= 1:
for i in range(inputLen // 2 + 1):
if myInput[i] != myInput[
inputLen - i -
1]: # Elimizdeki değeri yarıya bölüp kontrol ediyoruz.
returnVal = False
else:
returnVal = False
return returnVal # Herhangi bir olumsuz durumla karşılaşmaz ise buradan true değeri döndürecektir.
def findNearestPalindrome(myInput):
ispalindrome = True
palindromeFound = False
counterForPalindrome = 0
thePalindrome = 11
inputLen = len(myInput)
# İlk önce tanımlamalarımızı tamamladık.
while palindromeFound == False:
counterForPalindrome += 1
if areYouPalindrome(inputLen, str(int(myInput))) == True: # Burada yukarı doğru gidiyoruz.
palindromeFound = True
thePalindrome = str(int(myInput))
#print(thePalindrome)
return thePalindrome
if areYouPalindrome(inputLen, str(int(myInput) + counterForPalindrome)
) == True: # Burada yukarı doğru gidiyoruz.
palindromeFound = True
thePalindrome = str(int(myInput) + counterForPalindrome)
#print(thePalindrome)
return thePalindrome
elif areYouPalindrome(inputLen, str(int(myInput) - counterForPalindrome)) == True:
# Burada aşağı doğru gidiyoruz.
palindromeFound = True
thePalindrome = str(int(myInput) - counterForPalindrome)
return thePalindrome
# Bulduğunda bize en yakın sonucumuzu döndürüyor. Gayet güzel buluyor bence :D
# Main kod buradan başlıyor.
myInput = str(132423) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}")
# Burada bize dönülen çıktı bize en yakın olan çıktıdır.
myInput = str(34) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(
f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}"
) # Burada bize dönülen çıktı bize en yakın olan çıktıdır.
myInput = str(3456) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}")
# Burada bize dönülen çıktı bize en yakın olan çıktıdır.
myInput = str(107) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}")
# Burada bize dönülen çıktı bize en yakın olan çıktıdır.
myInput = str(22) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}")
# Burada bize dönülen çıktı bize en yakın olan çıktıdır.
myInput = str(10) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}")
# Burada bize dönülen çıktı bize en yakın olan çıktıdır.
myInput = str(7) # Buraya kendi istediğiniz değeri girebiliyorsunuz.
print(f"{myInput} değerine en yakın palindrom değer: {findNearestPalindrome(myInput)}")
# Burada bize dönülen çıktı bize en yakın olan çıktıdır.
# Burada iki tane fonksiyon yazmış bulunmaktayız.
# Biri değerimizin palindrom olup olmamaması, diğeri de palindrom değeri bulmak için aynı anda
# hem yukarı, hem de aşağı doğru gidiyor olduğumuz fonksiyondur. Projelerinizde istediğiniz
# gibi revizyon yapabilirsiniz. Şuanda aynı yakınlıkta olması durumunda çıktıyı üstteki
# değer olarak veriyor ama siz bunu değiştirebilirsiniz isterseniz.
# İyi çalışmalar dilerim.
Yorumlar
Yorum Gönder