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

Python Polindrom Kontrolü

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