Tulis fungsi python yang memeriksa apakah string yang diteruskan adalah palindrom atau tidak

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


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

Tulis fungsi python yang memeriksa apakah string yang diteruskan adalah palindrom atau tidak

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 Python

Sekarang bagaimana cara membuat Palindrom dengan Python?

Pertimbangkan algoritma untuk Pernyataan Masalah. Temukan apakah suatu string adalah Palindrom atau bukan

  1. Periksa apakah indeks pertama dan indeks huruf terakhir sama;
  2. Ulangi langkah 2 dengan menaikkan indeks pertama dan menurunkan indeks terakhir
  3. 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

  1. Salin nomor input dalam variabel lain untuk membandingkannya nanti
  2. Selanjutnya, kami membalik angka yang diberikan. Untuk membalikkan nomor, ikuti langkah-langkah berikut
    1. Pisahkan digit terakhir dari sebuah angka. Operator modulo (%) mengembalikan sisa pembagian
    2. Tambahkan lastDigit untuk mundur. mundur = (membalikkan * 10) + lastDigit
    3. Hapus digit terakhir dari nomor tersebut. angka = angka / 10
    4. Ulangi proses ini. sementara (angka > 0)
  3. Sekarang kita bandingkan angka terbalik dengan angka aslinya
  4. 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

  1. Menemukan kebalikan dari string
  2. Memeriksa apakah terbalik dan asli adalah sama atau tidak
def isPalindrome(s):
	return s == s[::-1]

# Driver code
s = "kayak"
ans = isPalindrome(s)

if ans:
	print("Yes")

else:
	print("No")
_

Langkah.   

  1. Kami membuat fungsi ispalindrome
  2. Kembalikan variabel dengan mengiris parameter dengan cara terbalik
  3. Dalam kode driver kami, kami menulis sebuah string
  4. Akhirnya, dalam kondisi if-else kami, kami mengeksekusi jika itu adalah palindrom cetak ya atau cetak no

Metode 2

  • Menggunakan loop berulang
def isPalindrome(str):

	for i in range(O, int(len(str)/2)):
	    if str[i] != str[len(str)-i-1]:
		return False
	return True

# main function
s = "kayak"
ans = isPalindrome(s)

if (ans):
	print("Yes")

else:
	print("No")

Langkah.   

  1. Sebuah loop dijalankan dari awal hingga setengah panjang dan memeriksa karakter pertama hingga karakter terakhir dari string
  2. Dan periksa dari karakter kedua ke karakter terakhir kedua dari string
  3. Jika salah satu karakter tidak cocok, itu bukan palindrom

Metode 3

  • Menggunakan fungsi bawaan untuk membalikkan string
def isPalindrome(s):

	rev = ‘'.join(reversed(s))

	if (s == rev):
		return True
	return False

# main function
s = "kayak"
ans = isPalindrome(s)

if(ans):
	print("Yes")
else:
	print("No")
_

Langkah

Dalam metode ini, kami menggunakan fungsi yang telah ditentukan '. bergabung'

Metode 4

  • Menggunakan rekursi
def isPalindrome(s):

	s = s.lower()

	1 = len(s)

	if 1 <2:
		return True

	elif s(0) == s{l - 1):

		return isPalindrome(s[1: l - 1])
	else:
		return False

s = "Kayak"
ans = isPalindrome(s)

	if ans:
		print("Yes")

	y else:
		print("No")

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

Tulis fungsi python yang memeriksa apakah string yang diteruskan adalah palindrom atau tidak

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

  1. Faktorial Angka dengan Python
  2. Konversi daftar menjadi string dengan Python
  3. Deret Fibonacci dengan Python
  4. Tutorial Python
  5. 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

Bagaimana cara menulis fungsi Python yang memeriksa apakah string yang diteruskan adalah palindrom?

#Tentukan fungsi def isPalindrome(string). jika len(string) < 1. kembali Benar lain. jika string[0] == string[-1]. kembalikan isPalindrom(string[1. -1]) lainnya. return False #Masukkan input string str1 = input("Masukkan string. ") if(isPalindrome(str1)==Benar). print("String adalah palindrom

Fungsi mana yang memeriksa apakah nomor yang diteruskan adalah palindrom atau tidak dengan Python?

Contoh. num = input('Masukkan sembarang angka. ') mencoba. val = int(bil) jika num == str(bil)[. -1]. print('Nomor yang diberikan adalah PALIDROME') else. print('Nomor yang diberikan BUKAN palindrom') kecuali ValueError. print("Itu bukan angka yang valid, Coba Lagi. ")

Bagaimana cara menulis fungsi yang memeriksa apakah string yang diteruskan adalah palindrom atau tidak di Jawa?

Kita dapat menggunakan fungsi isPalindrome() untuk memeriksa apakah suatu string adalah palindrom. Kami meneruskan string input kami sebagai argumen dan fungsi akan mengembalikan nilai true jika string adalah palindrom dan false jika sebaliknya.