Palindrome Programı Python

⚡ Akıllı Özet

Palindrom programları Python Bir metin dizisinin veya sayının ileri ve geri okunduğunda aynı olup olmadığını kontrol edin. Yaygın yaklaşımlar arasında geriye doğru dilimleme, bayrak karşılaştırması, karakter ters çevirme, karakter eşleştirme, özyineleme ve while döngüsü teknikleri hem metin hem de sayısal değerler için yer almaktadır.

  • 🔁 Tanım: Bir kelime veya sayı olsun, palindrom ileri ve geri okunduğunda aynı olan kelime ve sayıdır.
  • ✂️ Dilimleme ve bayraklar: Reverse Dizeyi bir döngüyle işleyin veya uyumsuzlukları bir işaretle erken yakalayın.
  • 🔄 Özyineleme ve döngüler: Özyinelemeli çağrılar ve while döngüleri, modül ve tam sayı bölme işlemlerini kullanarak sayıları tersine çevirir.
  • Verimlilik: İki işaretçi yöntemi, uçları içe doğru O(n) zaman ve O(1) alan karmaşıklığıyla karşılaştırır.
  • 🤖 Yapay zekanın önemi: Palindrom mantığı, doğal dil işleme ön işleme, DNA kontrolleri ve makine öğrenimi mülakat uygulamalarına yardımcı olur.

Palindrome Programı Python

Palindrome Programı Nedir? Python?

Palindrom, konumu tersine çevrildiğinde aynı değeri gösteren bir dize veya sayı olarak tanımlanabilir. Daha basit anlamda, tersine çevrildiğinde değişmeden kalır.

Example: deed, 101

Ters kelime ile asıl kelime (sayı veya dize) karşılaştırıldığında aynı sonucu verirler.

Palindrom Türleri

In Python dilPalindrom aşağıda listelendiği gibi üç türdendir:

  • Çok kelimeli palindrom: Bu, orijinal ve ters çevrilmiş kelimelerin değerinin aynı olduğu birden fazla kelimenin birleşimidir.
  • Tek kelimeli palindrom: Bu, orijinal ve ters kelimelerin değerinin aynı olduğu tek bir kelimedir.
  • Sayı palindromu: Bu, orijinal ve ters sayıların değerlerinin aynı olduğu bir sayıdır. Verilen giriş ileri veya geri taraftan aynı kalır.

Palindrom sayısı için algoritma Python

Palindromik sayıyı kontrol etmek için aşağıdaki algoritma uygulanabilir:

) 1 Adım Değişken bildirimini ' olarak gerçekleştirinI' ve değişkeni okuyun.

) 2 Adım Atamak 'I' geçici j değişkenine. ben=j

) 3 Adım Döngüyü aşağıda gösterilen talimatlarla gerçekleştirin: –

  • M=I % 10
  • U=U x 10 + M
  • ben = ben / 10

) 4 Adım Geçici değişkeni l ile karşılaştırın. L==J.

) 5 Adım Koşul sağlanırsa sayıyı palindrom olacak şekilde yazdırın.

) 6 Adım Koşul karşılanmıyorsa sayıyı palindrom değil olarak yazdırın.

) 7 Adım Son

Yukarıdaki algoritma, aşağıdaki palindrom sayılara uygulanır: Python.

Yöntem 1: Palindrom sayısı Python Geriye Dilimlemeyi kullanma

Geriye doğru dilimleme Python genellikle orijinal programdaki alt küme ifadelerinin kullanılmasını içerir. Alt küme ifadeleri de döngüleri kullanabilir. Python'nin palindrom programı geriye doğru dilimlenebilir.

Aşağıdaki Python programı, bir dizenin palindrom olup olmadığını belirlemek için geriye doğru bir döngü kullanır.

Palindrome dize programı Python Kod:

a='deed'
lena=len(a)
b=[]
for i in range(lena - 1, -1, -1):
    b.append(a[i])
rev = "".join(b)
print(a + " is: ", end="")
if a == rev:
    print("Palindrome")
else:
    print("Not Palindrome")

Çıktı:

deed is: Palindrome

Code Açıklama:

  • MKS Python kod, ana dizenin uzunluğunu ve boş dize b'yi ters sırada eklemeye çalışır Python aralık işlevi.
  • Daha sonra b dizisi, dize ayırıcı kullanılarak boş rev dizisiyle birleştirilir. ".

Yöntem 2: Palindrome Programı Python Bayrak kullanarak

Bayrak değişkenleri şurada tanımlanabilir: Python palindromu tanımlamak için. Bayrak 0 olarak başlatılır. Aşağıdaki program bayrak parametresinin kullanımını gösterir:

Python Code Palindrom Programı için:

Pld = "deed"
m = -1
flag = 0
for char in Pld:
    if char != Pld[m]:
        flag = 1
        break
    m = m - 1
print(Pld + " is: ", end="")
if flag:
    print("Not Palindrome")
else:
    print("Palindrome")
print(flag)

Çıktı:

deed is: Palindrome

0

Code Açıklama:

  • İçindeki karakter Python 0 indeksiyle başlar.
  • m -1 olarak başlatıldığından, dize ters taraftan negatif bir dizin olarak okunur.
  • If ifadesini içeren for döngüsü, dizede bulunan 0 indeksiyle başlayan her karakterin, dizenin ters indeksiyle eşleşip eşleşmediğini kontrol eder.
  • Ancak eşleşmezse program bayrağı 1 olarak başlatır; aksi takdirde 0 olarak başlatır.

Yöntem 3: Palindromu kontrol edin Python karakteri tersine çevirerek

Bu palindrom programında bir dizeyi tersine çevirmek için char yöntemi kullanılır PythonOrijinal dizgenin ters dizgesi ile kontrol edilerek dizgenin palindromik olup olmadığı belirlenir.

Python Palindrom Programı Code:

Base = "123"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "101"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "deed"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))

Çıktı:

Not Palindrome
The original string is: 123
The reverse string is: 321
Palindrome
The original string is: 101
The reverse string is: 101
Palindrome
The original string is: the deed
The reverse string is: the deed

Code Açıklama:

  • Python'nin str işlevi sayısal değer biçimini dize biçimine dönüştürmeye yardımcı olur. Program öncelikle 123 değerinin palindrom olup olmadığını kontrol eder.
  • Daha sonra 101 değerini ve tapunun dize değerini kontrol eder.
  • Kod, değerin hem sayısal hem de dize formatları için bir palindrom olup olmadığını kontrol eder.

Yöntem 4: Palindrome nasıl kontrol edilir Python Karakter Eşleştirmeyi kullanma

Bu palindrom yönteminde program, for döngüsünü, range işlevini ve Len işlevini kullanarak dizedeki her karakterin ters dizeyle eşleşip eşleşmediğini kontrol eder.

Python Kod:

def PalindromeComparator(original):
    for i in range(0, len(original)):
        if original[i] != original[len(original) - i - 1]:
            return False
            return True
Base = "deed"
print("Palindrome") if PalindromeComparator(Base) else print("Not Palindrome")

Çıktı:

Not Palindrome

Code Açıklama:

  • Palindrome Karşılaştırıcısı olarak etiketlenen kullanıcı tanımlı bir işlev, değerin bir dize olup olmadığını kontrol eder.
  • Program, orijinal metin dizisi ile orijinal metin dizisinin tersini, belirtilen kriterleri kullanarak karşılaştırır. orijinal[i]!= orijinal[len(orijinal) – i – 1].
  • Yukarıdaki program dizenin uzunluğunu belirlemek için uzunluk tekniğini kullanır.

Yöntem 5: Palindrom Python özyinelemeyi kullanma

In PythonÖzyineleme, işlevin kendisini belirli bir ölçüt kümesine göre tekrar tekrar çağırması anlamına gelir. Bu şekilde problem aynı fonksiyon yapısı kullanılarak daha küçük parçalara bölünebilir. Özyineleme programlama mantığını kullanarak palindrom dizeleri de kontrol edilebilir

Python Kod:

def palcomprec(number, oppo):
    if number == 0:
        return oppo
    remainder = int(number % 10)
    oppo = (oppo * 10) + remainder
    return palcomprec(int(number / 10), oppo)
Base = 12321
reverse = 0
reverse = palcomprec(Base, reverse)
print(str(Base) + " is: ", end="")
print("Palindrome") if reverse == Base else print("Not Palindrome")

Çıktı:

12321 is: Palindrome

Code Açıklama:

  • Program, kendisini yinelemeli olarak çağıran, kullanıcı tanımlı bir işlevi kullanır.
  • Orijinal sayı parçalanır ve kalan değeri karşıt değere eklenir.
  • Kalan değerle toplanmadan önce karşıt değer önce 10 ile çarpılır.

Yöntem 6: Palindromu kontrol etmek için While Döngüsü nasıl kullanılır?

Bir while döngüsü, uygulanan koşul doğru olana kadar kodun yinelemeli olarak yürütülmesini gerçekleştirir.

  • Tamsayı değerinin palindrom olup olmadığını kontrol etmek için yinelemeli yöntem kullanılabilir.
  • MKS Python program geçici sayılar ve modül operatörlerini kullanır.

Python Kod:

original = 101
temporary = original
reverse = 0
while temporary > 0:
    remainder = temporary % 10
    reverse = (reverse * 10) + remainder
    temporary = temporary // 10
if original == reverse:
  print('Palindrome')
else:
  print("Not Palindrome")

Çıktı:

Palindrome

Code Açıklama:

  • Program, geçici sayının sıfırdan küçük olup olmadığını kontrol eden bir while döngüsü kullanır.
  • Modulo operatörü orijinal sayının kalanını hesaplar.
  • Orijinal sayı 10'a bölünür.
  • Ters parametre 10 ile çarpılarak hesaplanır.
  • Ortaya çıkan sayı kalana eklenir.
  • Yukarıdaki program, palindrom olup olmadığını sınıflandırmak için orijinal sayıyı ve ters sayıyı kontrol eder.

SSS

Değeri, önce str() ile sayıları dönüştürerek s == s[::-1] kullanarak tersiyle karşılaştırın. Yönlerin eşleşmesi palindrom anlamına gelir.

İki işaretçi yöntemi O(n) zaman ve O(1) alanla bellek tasarrufu sağlar, ancak dilim ters çevirme genellikle C'de en hızlı olanıdır.Python.

İşaretçilerden biri önde, diğeri arkada başlar; içe doğru karşılaştırılırlar. Eşleşen çiftler buluşana kadar eşleştirme işlemi bir palindrom olduğunu doğrular.

isalnum() fonksiyonu ile metni küçük harfe çevirin ve yalnızca alfanümerik karakterleri koruyun, ardından tersiyle karşılaştırın. Boşluk ve büyük/küçük harf kullanımının önemi kalmaz.

Reverse Dilim s[::-1], reversed() artı “”.join() veya öne eklenen bir döngü içeren bir dizeyi alın ve ardından orijinaliyle karşılaştırın.

Evet. Tek bir karakter ve boş bir dize ters çevrildiğinde aynı şekilde okunur, bu nedenle s == s[::-1] True değerini döndürür.

RevGenel mantık, doğal dil işleme ön işlemesini, biyoinformatik DNA kontrollerini ve özellik mühendisliğini yönlendirir. Kütüphaneler gibi Dizi Makine öğrenimi için bu simetri testlerini vektörleştirin.

Evet. GitHub Copilot ve benzeri yapay zeka asistanları, bir komut isteminden dilimleme, iki işaretçili, özyinelemeli veya döngüsel sürümler oluşturur. Her zaman önce uç durumları gözden geçirin.

Bu yazıyı şu şekilde özetleyin: