Program Palindrom di Python

Apa itu Program Palindrome Python?

Palindrom dapat didefinisikan sebagai string atau angka yang menampilkan nilai yang sama ketika posisinya dibalik. Dalam pengertian yang lebih sederhana, ia tetap tidak berubah ketika dibalik.

Example: deed, 101

Ketika kata kebalikannya dan kata sebenarnya, (angka atau string) dibandingkan, keduanya menghasilkan hasil yang sama.

Palindrom di Python

Jenis Palindrom

In Python bahasa, Palindrom ada tiga jenis, seperti tercantum di bawah ini:

  • Palindrom multi-kata: Ini adalah kombinasi beberapa kata yang arti kata aslinya dan kata kebalikannya sama.
  • Palindrom satu kata: Ini adalah kata tunggal yang arti kata aslinya dan kata kebalikannya sama.
  • Palindrom nomor: Ini adalah angka yang nilai angka aslinya dan angka yang dibaliknya sama. Input yang diberikan tetap sama baik dari sisi maju maupun sisi mundur.

Algoritma untuk bilangan Palindrom di Python

Algoritma berikut dapat diterapkan untuk memeriksa nomor palindrom:

Langkah 1) Lakukan deklarasi variabel sebagai 'I' dan membaca variabelnya.

Langkah 2) Tetapkan 'I' ke variabel sementara j. saya=j

Langkah 3) Lakukan loop dengan instruksi seperti yang ditunjukkan di bawah ini: –

  • M=Saya % 10
  • L=L x 10 + L
  • Saya = Saya / 10

Langkah 4) Bandingkan variabel sementara dengan l. L==J.

Langkah 5) Cetak bilangan tersebut menjadi palindrom jika kondisinya terpenuhi.

Langkah 6) Jika kondisi tidak memenuhi, cetak bilangan tersebut sebagai bukan palindrom.

Langkah 7) Akhir

Algoritma di atas berlaku untuk angka palindrom di Python.

Metode 1: Nomor palindrom masuk Python menggunakan Pengirisan Mundur

Mengiris ke belakang Python umumnya melibatkan penggunaan pernyataan subset dari program asli. Pernyataan subset juga dapat menggunakan loop. PythonProgram palindrom dapat diiris mundur.

Program python berikut menggunakan perulangan mundur untuk menentukan apakah suatu string merupakan palindrom.

Program string palindrom di Python kode:

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")

Keluaran:

deed is: Palindrome

Penjelasan Kode:

  • Python kode mencoba menambahkan string kosong b dalam urutan terbalik dengan menggunakan panjang string utama dan Python fungsi jangkauan.
  • String b kemudian digabungkan dengan string kosong rev menggunakan pemisah string ".

Metode 2: Program Palindrom di Python menggunakan Bendera

Variabel bendera dapat didefinisikan dalam Python untuk mengidentifikasi palindrom. Flag diinisialisasi ke 0. Program berikut mengilustrasikan penggunaan parameter flag:

Python Kode untuk Program Palindrom:

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)

Keluaran:

deed is: Palindrome

0

Penjelasan Kode:

  • Karakter di Python dimulai dengan indeks 0.
  • Karena m diinisialisasi sebagai -1, string dibaca dari sisi sebaliknya sebagai indeks negatif.
  • Perulangan for dengan pernyataan if memeriksa apakah setiap karakter yang dimulai dengan indeks 0 yang ada dalam string cocok dengan indeks kebalikan dari string.
  • Akan tetapi, jika tidak cocok, maka program akan menginisialisasi bendera sebagai 1; jika tidak, maka program akan menginisialisasinya sebagai 0.

Metode 3: Periksa Palindrome di Python dengan membalik karakter

Metode char digunakan untuk membalikkan string dalam program palindrom ini di PythonString asli diperiksa dengan string kebalikannya untuk menentukan apakah string tersebut palindrom atau bukan.

Python Kode Program Palindrom:

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))

Keluaran:

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

Penjelasan Kode:

  • PythonFungsi str membantu mengubah format nilai numerik menjadi format string. Program terlebih dahulu memeriksa apakah nilai 123 merupakan palindrom atau bukan.
  • Kemudian memeriksa nilai 101 dan nilai string akta.
  • Kode memeriksa nilai menjadi palindrom untuk format numerik dan string.

Metode 4: Cara memeriksa Palindrome di Python menggunakan Pencocokan Karakter

Dalam metode palindrom ini, program memeriksa apakah setiap karakter dalam string cocok dengan string terbalik dengan menggunakan for loop, fungsi range, dan fungsi Len.

Python kode:

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")

Keluaran:

Not Palindrome

Penjelasan Kode:

  • Fungsi yang ditentukan pengguna berlabel Palindrome Comparator memeriksa apakah nilainya berupa string atau bukan.
  • Program ini membandingkan string asli dan kebalikan dari string asli dengan menggunakan kriteria asli[i]!= asli[len(asli) – i – 1].
  • Program di atas menggunakan teknik panjang untuk menentukan panjang string.

Metode 5: Palindrom di Python menggunakan rekursi

In Python, rekursi berarti fungsi tersebut memanggil dirinya sendiri berulang kali dan sesuai dengan serangkaian kriteria tertentu. Dengan cara ini, permasalahan dapat dipecah menjadi permasalahan yang lebih kecil dengan menggunakan struktur fungsi yang sama. Dengan menggunakan logika pemrograman rekursi, string palindrom juga dapat diperiksa

Python kode:

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")

Keluaran:

12321 is: Palindrome

Penjelasan Kode:

  • Program ini memanfaatkan fungsi yang ditentukan pengguna yang memanggil dirinya sendiri secara rekursif.
  • Bilangan asli dipecah, dan nilai sisa dijumlahkan dengan nilai kebalikannya.
  • Nilai kebalikannya dikalikan 10 terlebih dahulu sebelum ditambah dengan nilai sisanya.

Metode 6: Cara menggunakan While Loop untuk memeriksa Palindrome

Perulangan while melakukan eksekusi kode secara berulang hingga kondisi yang diterapkan benar.

  • Metode iteratif dapat digunakan untuk memeriksa apakah nilai integer tersebut palindrom.
  • Python program memanfaatkan angka sementara dan operator modulo.

Python kode:

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")

Keluaran:

Palindrome

Penjelasan Kode:

  • Program ini menggunakan perulangan while yang memeriksa apakah bilangan sementara kurang dari nol.
  • Operator modulo menghitung sisa bilangan asli.
  • Bilangan asli dibagi 10.
  • Parameter sebaliknya dihitung dengan mengalikan dengan 10.
  • Jumlah yang dihasilkan ditambahkan ke sisa.
  • Program di atas memeriksa bilangan asli dan bilangan sebaliknya untuk mengklasifikasikannya sebagai palindrom atau bukan.

Kesimpulan

  • Palindrom adalah suatu nilai jika dibandingkan dari arah belakang, dan arah majunya menjadi sama. Ini digunakan dalam berbagai teka-teki matematika.
  • Beberapa cara dapat diadopsi Python untuk membandingkan apakah suatu nilai merupakan palindrom atau bukan. Teknik yang digunakan adalah: – Pemotongan mundur, Pencocokan karakter, Rekursi, Penggunaan loop, fungsi rev, Len, dan str, fungsi yang telah ditentukan sebelumnya, rekursi, dll.