Chúng ta có thể tách một đoạn dây dài ở giữa và kiểm tra xem hai nửa dây có bằng nhau hay không. Chuỗi đầu vào có thể có một số ký tự lẻ hoặc chẵn. Nếu nó có một số ký tự chẵn, chúng tôi chia hai nửa bằng cách lấy một nửa chiều dài. Nhưng nếu số ký tự là số lẻ thì chúng tôi bỏ qua ký tự ở giữa và sau đó so sánh hai nửa còn lại.
Trong chương trình dưới đây, chúng tôi tạo hai nửa của chuỗi đầu vào với logic ở trên và sau đó
Ví dụ
from collections import Counter def comparehalves(input_string): str_len = len(input_string) # If number of characyes is odd # ignore the middle character if (str_len % 2 != 0): left = input_string[0:int(str_len / 2)] right = input_string[(int(str_len / 2)) + 1:] else: left = input_string[0:int(str_len / 2)] right = input_string[int(str_len / 2):] # Convert the halves into lists # and sort them l1 = list(left) l1.sort() l2 = list(right) l2.sort() if l1 == l2: print ("Same character in both halves") else: print ("Both halves are different ") in_string = input("Enter String: ") comparehalves(in_string)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
# Run1 Enter String: Tutorials Both halves are different # Run2 Enter String: TutTut Same character in both halves