Chuối đối xứng trong Python

Một chuỗi đối xứng là một chuỗi ký tự mà khi đọc từ trái sang phải và từ phải sang trái đều cho ra cùng một chuỗi. Sau đây tailieutxd xin giới thiệu hai phương pháp để giải quyết bài toán này

  1. Ví dụ 1:
  • “level”, “racecar”, “madam” là các chuỗi đối xứng.
  • “hello”, “world”, “anthropic” không phải là các chuỗi đối xứng.

Để kiểm tra xem một chuỗi có đối xứng hay không, bạn có thể so sánh ký tự ở vị trí đầu tiên với ký tự ở vị trí cuối cùng, ký tự ở vị trí thứ hai với ký tự ở vị trí thứ hai từ cuối cùng, và cứ tiếp tục như vậy. Nếu tất cả các cặp ký tự này đều giống nhau thì chuỗi đó là đối xứng.

Dưới đây là một đoạn code Python để kiểm tra xem một chuỗi có đối xứng hay không:

python

def is_palindrome(s): 


s = s.lower().replace(" ", "") # Loại bỏ khoảng trắng và chuyển về chữ thường

for i in range(len(s) // 2): # Kiểm tra từng cặp ký tự

if s[i] != s[-i-1]:

return False


return True

 
# Ví dụ sử dụng
print(is_palindrome("level"))  # True
print(is_palindrome("hello"))  # False
print(is_palindrome("A man, a plan, a canal: Panama"))  # True

Trong đoạn code trên, hàm is_palindrome() kiểm tra xem một chuỗi có đối xứng hay không bằng cách so sánh ký tự ở vị trí đầu và cuối, rồi lặp lại quá trình này với các cặp ký tự ở vị trí tiếp theo.

2. Ví dụ 2. Chuỗi đôí xứng bằng cách so sánh hai chuỗi
Bạn có thể kiểm tra xem một chuỗi có đối xứng hay không bằng cách so sánh chuỗi gốc với chuỗi đảo ngược của nó. Nếu hai chuỗi này giống nhau, thì chuỗi gốc là đối xứng.

Dưới đây là một ví dụ bằng Python:

 
def is_palindrome(s):
    s = s.lower().replace(" ", "")  # Loại bỏ khoảng trắng và chuyển về chữ thường
    reversed_s = s[::-1]     # Đảo ngược chuỗi
    return s == reversed_s  # So sánh chuỗi gốc với chuỗi đảo ngược
# Ví dụ sử dụng
print(is_palindrome("level"))  # True
print(is_palindrome("hello"))  # False
print(is_palindrome("A man, a plan, a canal: Panama"))  # True

Trong đoạn code trên, hàm is_palindrome() thực hiện các bước sau:

  1. Loại bỏ khoảng trắng và chuyển toàn bộ chuỗi về chữ thường.
  2. Tạo một chuỗi mới bằng cách đảo ngược chuỗi gốc.
  3. So sánh chuỗi gốc với chuỗi đảo ngược. Nếu chúng giống nhau, thì chuỗi gốc là đối xứng.

Cách này cũng hoạt động tốt và có thể hiểu dễ dàng. Tuy nhiên, nó có thể không hiệu quả như cách so sánh từng cặp ký tự, đặc biệt với những chuỗi rất dài.

Để lại một bình luận