Palindrom adalah kata, frase, angka, atau urutan unit lain yang dapat dibaca dengan cara yang sama di kedua arah, dengan kelonggaran umum untuk penyesuaian tanda baca dan pemisah kata. Bila digitnya dibalik, ternyata angkanya sama dengan angka aslinya. Palindrom juga bisa berupa angka. Misalnya, nyonya, 1234321. Blog ini akan mengajari kita cara membuat Palindrome dengan Python
Jika Anda ingin menyelam lebih jauh, lihat kursus gratis ini tentang Palindrom dengan Python dan Program PG tentang Rekayasa Perangkat Lunak. Ini mencakup dasar-dasar pemrograman python, seperti sintaks, variabel, tipe data, operator, token, dan string. Kursus ini juga menawarkan Anda sertifikat penyelesaian untuk membantu Anda tetap terdepan dalam persaingan
a.
b.
Apa itu Palindrom?
Palindrom adalah kata, frase, angka, atau urutan unit lain yang dapat dibaca dengan cara yang sama di kedua arah, umumnya jika digunakan dipisahkan koma
Selamat hari palindrom multi-budaya yang terlambat. 02/02/2020 adalah hari yang unik di bulan Februari. Ini berfungsi apakah format tanggal pilihan Anda adalah MM/DD/YYYY atau DD/MM/YYYY atau YYYY/MM/DD
Pola ini disebut palindrom. Membacanya dari karakter pertama atau mundur tidak ada bedanya. Ini adalah masalah pengantar yang menarik untuk dipecahkan dengan penggunaan pemrograman. Di blog ini, kita akan memahami proses berpikir, melangkah selangkah demi selangkah, dan menghasilkan berbagai solusi untuk memeriksa apakah string tersebut merupakan palindrom
Palindrom adalah kata, frase, angka, atau urutan karakter lain yang dibaca sama dari belakang ke depan
Mereka diklasifikasikan menjadi 3 jenis, yaitu bilangan Palindrom,
String palindrom, frase Palindrom. Kumpulan kata-kata dan karakter khusus
Apa itu Bilangan Palindrom?
Angka Palindrom adalah kumpulan angka yang tetap sama saat dibaca mundur. Angka-angka ini juga dikatakan simetris. Bila digitnya dibalik, ternyata angkanya sama dengan angka aslinya. e. g. , 1234321 adalah Palindrom. Jika digitnya dibalik, kembali menjadi 1234321, bilangan asli kita. 1234232 bukan Palindrom. Bila dibalik, angka baru menjadi 2324321, yang berbeda dari aslinya
Apa itu String Palindrom?
String Palindrom adalah kumpulan huruf yang tetap sama saat dibaca mundur. Mereka juga disebut Abjad Simetris. Ketika abjadnya ditulis dalam urutan terbalik, mereka menjadi kombinasi abjad yang sama dengan string aslinya. e. g. , "Nyonya" adalah Palindrom. Jika abjadnya dibalik, itu kembali menjadi "madam", yang merupakan string asli kami. "serbet" bukan Palindrom. Bila dibalik, bilangan baru menjadi “nikpan” yang berbeda dengan deret awal
Apa itu Frase Palindrom?
Frase Palindrom adalah kumpulan kata dan karakter khusus yang tetap sama saat dibaca mundur. Frasa ini juga dikatakan simetris. Saat frasa tersebut dibalik, ternyata frasa tersebut sama persis dengan frasa aslinya. Untuk misalnya. a1b2c33c2b1a adalah Palindrom. Jika frase dibalik, lagi menjadi a1b2c33c2b1a, frase asli kami. a4b523kg bukan Palindrom. Bila dibalik, angka baru menjadi gk325b4a yang berbeda dengan frase aslinya
Frase Palindrom adalah kumpulan kata dan karakter khusus yang tetap sama saat dibaca mundur. Frasa ini juga dikatakan simetris. Saat frasa tersebut dibalik, ternyata frasa tersebut sama persis dengan frasa aslinya. Untuk misalnya. a1b2c33c2b1a adalah Palindrom. Jika frase dibalik, lagi menjadi a1b2c33c2b1a, frase asli kami. a4b523kg bukan Palindrom. Bila dibalik, angka baru menjadi gk325b4a yang berbeda dengan frase aslinya
Frase Palindrom adalah kumpulan kata dan karakter khusus yang tetap sama saat dibaca mundur. Frasa ini juga dikatakan simetris. Saat frasa tersebut dibalik, ternyata frasa tersebut sama persis dengan frasa aslinya. Untuk misalnya. a1b2c33c2b1a adalah Palindrom. Jika frase dibalik, lagi menjadi a1b2c33c2b1a, frase asli kami. a4b523kg bukan Palindrom. Bila dibalik, angka baru menjadi gk325b4a yang berbeda dengan frase aslinya
Frase Palindrom adalah kumpulan kata dan karakter khusus yang tetap sama saat dibaca mundur. Frasa ini juga dikatakan simetris. Saat frasa tersebut dibalik, ternyata frasa tersebut sama persis dengan frasa aslinya. Untuk misalnya. a1b2c33c2b1a adalah Palindrom. Jika frase dibalik, lagi menjadi a1b2c33c2b1a, frase asli kami. a4b523kg bukan Palindrom. Bila dibalik, angka baru menjadi gk325b4a yang berbeda dengan frase aslinya
Contoh Palindrom
Berikut adalah beberapa contoh Palindrom
- Mama
- Nyonya
- a2332a
- Karet
- Ayah
- 123454321
Trivia. Apakah 02/02/2020 merupakan string palindrom jika dianggap sebagai frasa palindrom?
Palindrom dalam Algoritma Python
Anda dapat mendaftar ke kursus terkait Python ini untuk membiasakan diri dengan Bahasa Pemrograman Python dan mendapatkan sertifikat gratis di Great Learning Academy sebelum mempraktikkan algoritme dan kode Palindrom di Python
Ilmu Data dengan PythonPython untuk Pembelajaran Mesin Visualisasi Data menggunakan PythonKecerdasan Buatan dengan PythonSekarang bagaimana cara membuat Palindrom dengan Python?
Pertimbangkan algoritma untuk Pernyataan Masalah. Temukan apakah suatu string adalah Palindrom atau bukan
- Periksa apakah indeks pertama dan indeks huruf terakhir sama;
- Ulangi langkah 2 dengan menaikkan indeks pertama dan menurunkan indeks terakhir
- Ulangi langkah 3 saat first < last If( first > last) lalu kembalikan True
Sekarang mari kita pertimbangkan sebuah algoritma untuk Pernyataan Masalah. Temukan apakah suatu angka adalah Palindrom atau bukan
- Salin nomor input dalam variabel lain untuk membandingkannya nanti
- Selanjutnya, kami membalik angka yang diberikan. Untuk membalikkan nomor, ikuti langkah-langkah berikut
- Pisahkan digit terakhir dari sebuah angka. Operator modulo (%) mengembalikan sisa pembagian
- Tambahkan lastDigit untuk mundur. mundur = (membalikkan * 10) + lastDigit
- Hapus digit terakhir dari nomor tersebut. angka = angka / 10
- Ulangi proses ini. sementara (angka > 0)
- Sekarang kita bandingkan angka terbalik dengan angka aslinya
- Jika angkanya sama, maka angka tersebut adalah palindrom, selain itu bukan
Sekarang kita memiliki algoritme, mari kita ubah menjadi kode dengan mengikuti logika serupa
Palindrom dalam Kode Python
Menggunakan While Loop (angka)
number=int(input("Enter any number :")) #store a copy of this number temp=number #calculate reverse of this number reverse_num=0 while(number>0): #extract last digit of this number digit=number%10 #append this digit in reveresed number reverse_num=reverse_num*10+digit #floor divide the number leave out the last digit from number number=number//10 #compare reverse to original number if(temp==reverse_num): print("The number is palindrome!") else: print("Not a palindrome!")Menggunakan string While-loop
def check_palindrome(string): length = len(string) first = 0 last = length -1 status = 1 while(first<last): if(string[first]==string[last]): first=first+1 last=last-1 else: status = 0 break return int(status) string = input("Enter the string: ") print("Method 1") status= check_palindrome(string) if(status): print("It is a palindrome ") else: print("Sorry! Try again")_UJI KODE
Masukan – Bu
Keluaran – Ini adalah palindrom
Ini adalah pendekatan yang bagus, tetapi Python memungkinkan kita untuk menggunakan fungsi kebalikannya. Kita tahu bahwa sebuah kata dibaca maju dan mundur jika sama adalah palindrom. Oleh karena itu, mari kita buat string maju dan mundur untuk hal yang sama dan periksa apakah kedua string itu sama
Menggunakan Fungsi Terbalik
def check_palindrome_1(string): reversed_string = string[::-1] status=1 if(string!=reversed_string): status=0 return status string = input("Enter the string: ") status= check_palindrome_1(string) if(status): print("It is a palindrome ") else: print("Sorry! Try again")UJI KODE
Memasukkan. Masukkan string. malayalam
Keluaran. Ini adalah palindrom
Ini adalah pendekatan yang bagus, tetapi Python memungkinkan kita menggunakan fungsi kebalikannya. Kita tahu bahwa sebuah kata dibaca maju dan mundur jika sama adalah palindrom. Oleh karena itu, mari kita buat string maju dan mundur untuk hal yang sama dan periksa apakah kedua string itu sama
Menggunakan Fungsi Terbalik
def check_palindrome_1(string): reversed_string = string[::-1] status=1 if(string!=reversed_string): status=0 return status string = input("Enter the string: ") status= check_palindrome_1(string) if(status): print("It is a palindrome ") else: print("Sorry! Try again")UJI KODE
Memasukkan. Masukkan string. malayalam
Keluaran. Ini adalah palindrom
Program Palindrom dengan Python
Pada artikel ini, kita akan melihat berbagai cara mengimplementasikan program palindrom dengan Python
String Palindrom
Metode 1
- Menemukan kebalikan dari string
- Memeriksa apakah terbalik dan asli adalah sama atau tidak
Langkah.
- Kami membuat fungsi ispalindrome
- Kembalikan variabel dengan mengiris parameter dengan cara terbalik
- Dalam kode driver kami, kami menulis sebuah string
- Akhirnya, dalam kondisi if-else kami, kami mengeksekusi jika itu adalah palindrom cetak ya atau cetak no
Metode 2
- Menggunakan loop berulang
Langkah.
- Sebuah loop dijalankan dari awal hingga setengah panjang dan memeriksa karakter pertama hingga karakter terakhir dari string
- Dan periksa dari karakter kedua ke karakter terakhir kedua dari string
- Jika salah satu karakter tidak cocok, itu bukan palindrom
Metode 3
- Menggunakan fungsi bawaan untuk membalikkan string
Langkah
Dalam metode ini, kami menggunakan fungsi yang telah ditentukan '. bergabung'
Metode 4
- Menggunakan rekursi
Langkah
Metode ini membandingkan elemen pertama dan terakhir dari string dan memberikan substring lainnya panggilan rekursif ke dirinya sendiri
Palindrom dalam Daftar Tertaut
Mari tingkatkan ini dan pertimbangkan struktur data lainnya. Bagaimana jika data disimpan dalam linked list? . Daftar tertaut adalah struktur data dengan alokasi memori yang tidak bersebelahan
Kami akan mulai dengan mendefinisikan daftar tertaut dengan python
class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def __init__(self,seq): """prepends item of lists into linked list""" self.head = None for item in seq: node = ListNode(item) node.next = self.head self.head = node def palindrome(self): """ Check if linked list is palindrome and return True/False.""" node = self.head var = node #var is initialized to head prev = None #initially, prev is None # prev approaches to middle of list till var reaches end or None while var and var.next: var = var.next.next temp = node.next #reverse elements of first half of list node.next = prev prev = node node = temp if var: # in case of odd num elements tail = node.next else: # in case of even num elements tail = node while prev: # compare reverse element and next half elements if prev.val == tail.val: tail = tail.next prev = prev.next else: return False return True # Test Cases list_1 = Solution([7, 8, 6 , 3 , 7 ,3 , 6, 8, 7]) print([7, 8, 6 , 3 , 7 ,3 , 6, 8, 7],end='->') print(list_1.palindrome()) list_2 = Solution([6 , 3 , 4, 6]) print([6 , 3 , 4, 6],end='->') print(list_2.palindrome()) list_3 = Solution([3, 7 ,3 ]) print([ 3 , 7, 3],end='->') print(list_3.palindrome()) list_4 = Solution([1]) print([1],end='->') print( list_4.palindrome())_UJI KODE
Keluaran –3, 7, 3 – Benar
1 – Benar
Logika untuk memeriksa apakah daftar tertaut adalah palindrom atau bukan adalah versi modifikasi dari yang kami implementasikan pada string dan array. Kami memeriksa apakah kebalikan dari daftar tertaut sama dengan urutan aslinya. Alih-alih membalikkan seluruh daftar tertaut dan menyimpannya di lokasi sementara, kami membalikkan paruh pertama dari daftar tertaut dan memeriksa apakah paruh pertama dan paruh kedua cocok setelah pembalikan
Lihat * Algoritma dalam Kecerdasan Buatan
Oleh karena itu, kami mendefinisikan fungsi yang disebut palindrom, yang memiliki parameter node, var( singkatan dari variabel), sebelumnya, dan temp. Kami melompat ke akhir daftar menggunakan variabel var di baris 29, dan sementara itu, kami menyimpan data node terakhir di variabel prev. Oleh karena itu, membandingkan prev. val dan ekor. val di baris 41 memberi kita jawabannya
# Test Cases list_1 = Solution([7, 8, 6 , 3 , 7 ,3 , 6, 8, 7]) print(list_1.palindrome()) list_2 = Solution([6 , 3 , 4, 6]) print(list_2.palindrome()) list_3 = Solution([3, 7 ,3 ]) print(list_3.palindrome()) listl_4 = Solution([1]) Print( list_4.palindrome()) _Pada artikel ini, kami melihat palindrom luar dalam dan memahaminya secara menyeluruh. Coba kembangkan teknik implementasi yang lebih baik menggunakan struktur data yang berbeda untuk meningkatkan perintah Anda pada pengkodean. Kami akan terus memposting lebih banyak artikel tentang penerapan struktur data dan algoritme menggunakan Python Tetap disini dan Baca Sepuluh Buku Python Teratas
Bacaan lebih lanjut
- Faktorial Angka dengan Python
- Konversi daftar menjadi string dengan Python
- Deret Fibonacci dengan Python
- Tutorial Python
- Fungsi eval di Python
Mulailah Perjalanan Python Anda dengan Great Learning, yang menawarkan kursus Python gratis dengan pelatihan kelas dunia. Baik Anda tertarik dengan pembelajaran mesin, penambangan data, atau analisis data, Great Learning memiliki kursus untuk Anda