Python: Girilen Sayının Polindrom Sayı Olup Olmadığını Kontrol Etme

Python dilinde kullanıcının girdiği bir sayının polindrom bir sayı olup olmadığını kontrol eden programa ait kodlar aşağıda verilmiştir.
Soldan sağa veya sağdan sola yazıldığında aynı olan sayılara polindrom sayılar denir. Örneğin 121 sayısı. Bu sadece sayılar için geçerli değil aynı zamanda kelime veya cümleler de olabilir. (Polindrom Sayılar Hakkında Bilgi)
Basit ve Sade Şekilde Kontrol Etme
Python
sayi = int(input("Bir sayı girin: "))
if sayi < 0:
print("Palindrom değil")
else:
str_num = str(sayi)
if str_num == str_num[::-1]:
print("Palindrom")
else:
print("Palindrom değil")
Yukarıdaki kod en basit hali ile girilen sayının polindrom olup olmadığını kontrol eder. Bunun dışında aşağıdaki kodları da deneyebilirsiniz.
Rekürsif Fonksiyon İle Kontrol Etme
Python
def polindrom_mu(sayi, orjinal_sayi=None, ters_sayi=0):
if orjinal_sayi is None:
if sayi < 0:
return False # Negatif sayılar palindrom olamaz
orjinal_sayi = sayi
if sayi == 0:
return orjinal_sayi == ters_sayi
basamaklara_bol = sayi % 10
ters_sayi = ters_sayi * 10 + basamaklara_bol
return polindrom_mu(sayi // 10, ters_sayi, orjinal_sayi)
# Kullanıcıdan sayı al
sayi = int(input("Bir sayı girin: "))
if polindrom_mu(sayi):
print("Palindrom")
else:
print("Palindrom değil")
List Comprehension ve String Ters Çevirme
Python
def polindrom_mu(sayi):
if sayi < 0:
return False # Negatif sayılar palindrom olamaz
sayi_string = str(sayi)
ters_sayi = ''.join([sayi_string[i] for i in range(len(sayi_string) - 1, -1, -1)])
return sayi_string == ters_sayi
# Kullanıcıdan sayı al
num = int(input("Bir sayı girin: "))
if polindrom_mu(num):
print("Palindrom")
else:
print("Palindrom değil")
String ve Döngü Kullanarak Kontrol Etme
Python
def polindrom_mu(sayi):
if sayi < 0:
return False # Negatif sayılar palindrom olamaz
sayi_string = str(sayi)
length = len(sayi_string)
for i in range(length // 2): # Sadece yarısına kadar kontrol yeterli
if sayi_string[i] != sayi_string[length - i - 1]:
return False
return True
# Kullanıcıdan sayı al
sayi = int(input("Bir sayı girin: "))
if polindrom_mu(sayi):
print("Palindrom")
else:
print("Palindrom değil")
# Ekran Çıktıları
Giriş: 121 → Çıkış: Palindrom
Giriş: 123 → Çıkış: Palindrom değil
Giriş: -121 → Çıkış: Palindrom değil
Giriş: 5 → Çıkış: Palindrom