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
Kod Açıklaması:
- The 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 Palindrome Programının Kodu:
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
Kod Açıklaması:
- İç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 Palindrome Program Kodu:
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
Kod Açıklaması:
- 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
Kod Açıklaması:
- 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 dizeyi ve orijinal dizenin tersini kullanarak karşılaştırır. ölçüt 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
Kod Açıklaması:
- 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.
- The 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
Kod Açıklaması:
- 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.
Sonuç
- Palindrom geriye doğru bakıldığında bir değerdir ve ileri yön aynı olur. Çeşitli matematiksel bulmacalarda kullanılır.
- Birkaç yol benimsenebilir Python Bir değerin palindrom olup olmadığını karşılaştırmak için kullanılan teknikler şunlardır: – Geriye doğru dilimleme, Karakter eşleştirme, Özyineleme, Döngülerin kullanımı, rev, Len ve str fonksiyonları, önceden tanımlanmış fonksiyonlar, özyinelemeler vb.