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