Vấn đề là, chúng ta được cho một số và chúng ta cần viết chương trình python để kiểm tra xem số đã cho có phải là số đối xứng hay không
Số đối xứng. Một số được gọi là đối xứng nếu số ngược của nó bằng chính nó
Các bước để kiểm tra số Palindrome trong Python
- Lấy một số làm đầu vào
num
- Tìm số đảo ngược của số
rev
- So sánh
rev
với số ban đầu - Nếu cả hai bằng nhau thì số đó là Palindrom, ngược lại thì không
Kiểm tra xem một số có phải là Palindrome trong Python không
print["Enter a Number \n"] num = int[input[]] rev = 0 #Copying the original number temp = num #Finding Reverse while temp > 0: rev = [rev*10] + [temp %10]; temp = temp//10 #Comparing reverse with original number if rev == num : print["Palindrome \n"] else: print["Not Palindrome"]
đầu ra
Tìm tất cả các Số ma thuật trong khoảng thời gian bằng Python
Để in tất cả các số đối xứng trong phạm vi đã cho, chúng tôi sẽ chạy đoạn mã trên cho từng số. Do đó, chúng tôi sẽ viết mã xác minh số palindrome vào một hàm và sẽ gọi hàm đó từ vòng lặp
def isPalindrome[num]: rev = 0 #Copying the original number temp = num #Finding Reverse while temp > 0: rev = [rev*10] + [temp %10]; temp = temp//10 return rev == num low = int[input["Enter lower interval value \n"]] up = int[input["Enter upper interval value \n"]] print["Palindeome numbers between {x} and {y} are".format[x=low,y=up]] for num in range[low,up+1]: if isPalindrome[num]: print[num]
đầu ra
Bình luận bên dưới nếu bạn có bất cứ đề nghị
Giả sử chúng ta có số nguyên. Chúng ta phải kiểm tra xem số nguyên có phải là đối xứng hay không. Vì vậy, số nguyên giống nhau theo thứ tự tiến hoặc lùi cả hai, thì số đó là palindrome. Ví dụ: giả sử số là 454, nếu đảo ngược lại sẽ là 454. Vì vậy, đây là palindrome. Bây giờ nếu số là -565, thì số ngược lại sẽ là 565-, điều đó không giống nhau, vì vậy đây sẽ không phải là màu nhạt
Để giải quyết vấn đề này, chúng ta sẽ chuyển đổi số dưới dạng chuỗi, sau đó đảo ngược chuỗi. Nếu chuỗi và chuỗi đảo ngược giống nhau, thì số đó là palindrome. Vì vậy, trả về true trong trường hợp đó, nếu không thì trả về false
Hãy cùng chúng tôi xem cách thực hiện để hiểu rõ hơn
Thí dụ
Bản thử trực tiếp
class Solution[object]: def isPalindrome[self, x]: """ :type x: int :rtype: bool """ val = str[x] return val == val[::-1] ob1 = Solution[] print[ob1.isPalindrome[424]] print[ob1.isPalindrome[-565]]
Đầu vào
x = 424 x = -565
đầu ra
True False
Đưa ra một đầu vào số nguyên, mục tiêu là kiểm tra xem số nguyên đã cho làm đầu vào có phải là đối xứng hay không
Để một số là Palindrome, số đó phải giống nhau khi đảo ngược. Nếu số không khớp với mặt trái của chính nó, thì số đó không phải là Palindrome
- Phương pháp 1. Sử dụng phép lặp đơn giản
- Phương pháp 2. Sử dụng Cắt chuỗi
- Phương pháp 3. Sử dụng đệ quy
- Phương pháp 4. Sử dụng khớp ký tự
- Phương pháp 5. Sử dụng khớp ký tự được cập nhật
- Phương pháp 6. Sử dụng chức năng đảo ngược tích hợp
- Phương pháp 7. Xây dựng đảo ngược một ký tự tại một thời điểm
- Phương pháp 8. Sử dụng Cờ và đọc ngược
- Phương pháp 9. Phần thưởng khi sử dụng cắt lát ngược
Chúng ta sẽ thảo luận chi tiết về các phương pháp nêu trên trong các phần bên dưới. Đừng quên đánh dấu vào ô màu xanh được đề cập bên dưới để hiểu rõ hơn về vấn đề
Palindrome là một số hoặc chữ cái vẫn giữ nguyên ngay cả khi số và chữ cái bị đảo ngược
Ví dụ
121, 11, 414, 1221, 74747 là các số đối xứng
MOM, DAD, MADAM, REFER là những chữ cái đối xứng
JAVATPOINT, PROGRAM, JAVA không phải là các chữ cái đối xứng
thuật toán Palindrom
- Đọc số hoặc chữ cái
- Giữ chữ cái hoặc số trong một biến tạm thời
- Đảo ngược chữ cái hoặc số
- So sánh biến tạm thời với chữ cái hoặc số đảo ngược
- Nếu cả hai chữ cái hoặc số giống nhau, hãy in "chuỗi/số này là một bảng màu. "
- Khác in, "chuỗi/số này không phải là một bảng màu. "
Chương trình Palindrom
chương trình 1. chuỗi đối xứng
đầu ra
chương trình 2. Chương trình chuỗi Palindrome
đầu ra
Enter a letter: javatpoint The letter is not a palindrome Enter a letter: MADAM The letter is a palindrome
chương trình 3. Chương trình số Palindrome sử dụng vòng lặp while
đầu ra
Enter the value: 2551 This value is not a palindrome number! Enter the value: 1221 This value is a palindrome number!