Chương trình Palindrome trong Python
Chương trình Palindrome trong Python?
Một Palindrome có thể được định nghĩa là một chuỗi hoặc một số hiển thị cùng một giá trị khi vị trí của nó bị đảo ngược. Nói một cách đơn giản hơn, nó vẫn không thay đổi khi đảo ngược.
Example: deed, 101
Khi so sánh từ đảo ngược và từ thực tế (một số hoặc một chuỗi), chúng sẽ tạo ra kết quả giống nhau.
Các loại Palindrome
In Python Ngôn ngữ, Palindrome có ba loại, như được liệt kê dưới đây:
- Bảng màu nhiều từ: Đây là sự kết hợp của nhiều từ trong đó giá trị của từ gốc và từ đảo ngược là như nhau.
- Bảng màu đơn từ: Đây là một từ duy nhất có giá trị của từ gốc và từ đảo ngược là như nhau.
- Bảng màu số: Đây là một số mà giá trị của số gốc và số đảo ngược đều giống nhau. Đầu vào đã cho vẫn giữ nguyên từ phía trước hoặc từ phía ngược lại.
Thuật toán cho số Palindrome trong Python
Có thể áp dụng thuật toán sau để kiểm tra số palindrome:
Bước 1) Thực hiện khai báo biến là 'I' và đọc biến.
Bước 2) Giao phó 'I' tới biến tạm thời j. tôi=j
Bước 3) Thực hiện vòng lặp với hướng dẫn như dưới đây: –
- M=Tôi % 10
- L=L x 10 + M
- Tôi = tôi / 10
Bước 4) So sánh biến tạm thời với l. L==J.
Bước 5) In số đó thành một bảng màu nếu điều kiện được thỏa mãn.
Bước 6) Nếu điều kiện không thỏa mãn thì in ra số đó không phải là bảng màu.
Bước 7) Kết bài
Thuật toán trên áp dụng cho các số palindrome trong Python.
Cách 1: Số Palindrom trong Python sử dụng Cắt ngược
Cắt ngược trong Python thường liên quan đến việc sử dụng các câu lệnh tập hợp con từ chương trình gốc. Các câu lệnh tập hợp con cũng có thể sử dụng vòng lặp. Pythonchương trình palindrome của có thể được cắt lát ngược.
Chương trình Python sau đây sử dụng vòng lặp ngược để xác định xem một chuỗi có phải là chuỗi palindrome hay không.
Chương trình chuỗi Palindrome trong Python mã:
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")
Đầu ra:
deed is: Palindrome
Giải thích mã:
- Sản phẩm Python mã cố gắng thêm chuỗi rỗng b theo thứ tự ngược lại bằng cách sử dụng độ dài của chuỗi chính và Python chức năng phạm vi.
- Chuỗi b sau đó được nối với chuỗi rỗng rev bằng cách sử dụng dấu phân cách chuỗi ".
Cách 2: Chương trình Palindrome trong Python sử dụng Cờ
Các biến cờ có thể được định nghĩa trong Python để xác định palindrome. Flag được khởi tạo thành 0. Chương trình sau minh họa việc sử dụng tham số flag:
Python Mã cho chương trình Palindrome:
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)
Đầu ra:
deed is: Palindrome 0
Giải thích mã:
- Char trong Python bắt đầu bằng chỉ số 0.
- Vì m được khởi tạo là -1 nên chuỗi được đọc từ phía ngược lại dưới dạng chỉ mục âm.
- Vòng lặp for với câu lệnh if kiểm tra xem mỗi ký tự bắt đầu bằng chỉ số 0 có trong chuỗi có khớp với chỉ mục ngược của chuỗi hay không.
- Tuy nhiên, nếu không khớp, chương trình sẽ khởi tạo cờ là 1; nếu không, chương trình sẽ khởi tạo cờ là 0.
Cách 3: Kiểm tra Palindrome trong Python bằng cách đảo ngược ký tự
Phương pháp char được sử dụng để đảo ngược một chuỗi trong chương trình palindrome này trong Python. Kiểm tra chuỗi ban đầu bằng chuỗi đảo ngược để xác định xem chuỗi đó có phải là chuỗi palindrome hay không.
Python Mã chương trình Palindrome:
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))
Đầu ra:
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
Giải thích mã:
- PythonHàm str giúp chuyển đổi định dạng giá trị số sang định dạng chuỗi. Trước tiên, chương trình sẽ kiểm tra xem giá trị 123 có phải là một bảng màu hay không.
- Sau đó nó kiểm tra giá trị 101 và giá trị chuỗi của chứng thư.
- Mã này kiểm tra giá trị có phải là một bảng màu cho cả định dạng số và chuỗi hay không.
Cách 4: Cách kiểm tra Palindrome trong Python sử dụng tính năng So khớp ký tự
Trong phương pháp palindrome này, chương trình kiểm tra xem mỗi ký tự trong chuỗi có khớp với chuỗi ngược hay không bằng cách sử dụng vòng lặp for, hàm phạm vi và hàm Len.
Python mã:
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")
Đầu ra:
Not Palindrome
Giải thích mã:
- Hàm do người dùng định nghĩa được gắn nhãn là Bộ so sánh Palindrome kiểm tra xem giá trị có phải là chuỗi hay không.
- Chương trình so sánh chuỗi gốc và chuỗi đảo ngược của chuỗi gốc bằng cách sử dụng tiêu chí original[i]!= original[len(origin) – i – 1].
- Chương trình trên sử dụng kỹ thuật độ dài để xác định độ dài của chuỗi.
Cách 5: Palindrome trong Python sử dụng đệ quy
In Python, đệ quy có nghĩa là hàm gọi chính nó nhiều lần và theo một bộ tiêu chí cụ thể. Bằng cách này, vấn đề có thể được chia thành những vấn đề nhỏ hơn bằng cách sử dụng cùng một cấu trúc hàm. Bằng cách sử dụng logic lập trình đệ quy, các chuỗi palindrome cũng có thể được kiểm tra
Python mã:
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")
Đầu ra:
12321 is: Palindrome
Giải thích mã:
- Chương trình sử dụng một hàm do người dùng xác định để gọi đệ quy chính nó.
- Số ban đầu được chia nhỏ và giá trị còn lại của nó được cộng vào giá trị đối diện.
- Giá trị ngược lại được nhân với 10 trước khi cộng với giá trị còn lại.
Cách 6: Cách sử dụng Vòng lặp While để kiểm tra Palindrome
Vòng lặp while thực hiện việc thực thi mã trên cơ sở lặp đi lặp lại cho đến khi điều kiện được áp dụng là đúng.
- Phương pháp lặp có thể được sử dụng để kiểm tra xem giá trị nguyên có phải là palindrome hay không.
- Sản phẩm Python chương trình sử dụng các số tạm thời và các toán tử modulo.
Python mã:
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")
Đầu ra:
Palindrome
Giải thích mã:
- Chương trình sử dụng vòng lặp while để kiểm tra xem số tạm thời có nhỏ hơn 0 hay không.
- Toán tử modulo tính phần còn lại của số ban đầu.
- Số ban đầu chia cho 10.
- Tham số ngược lại được tính bằng cách nhân với 10.
- Số kết quả được thêm vào số dư.
- Chương trình trên kiểm tra số gốc và số ngược để phân loại nó có phải là palindrome hay không.
Kết luận
- Palindrome là một giá trị khi so sánh từ hướng lùi và hướng tiến sẽ giống nhau. Nó được sử dụng trong các câu đố toán học khác nhau.
- Một số cách có thể được áp dụng trong Python để so sánh xem một giá trị có phải là palindrome hay không. Các kỹ thuật được sử dụng là: – Cắt ngược, Ghép ký tự, Đệ quy, Sử dụng các vòng lặp, rev, Len và các hàm str, các hàm được xác định trước, đệ quy, v.v.