Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra xem cả hai nửa của chuỗi có cùng tập ký tự trong Python


Chúng ta có thể tách một chuỗi dài từ giữa và kiểm tra xem hai nửa có bằng nhau hay không. Chuỗi đầu vào có thể có số ký tự lẻ hoặc chẵn. Nếu nó có số ký tự chẵn, chúng ta chia hai nửa bằng cách lấy một nửa độ dài. Nhưng nếu số ký tự là lẻ, chúng ta bỏ qua ký tự ở giữa và so sánh hai nửa còn lại.

Trong chương trình dưới đây, chúng ta tạo hai nửa của chuỗi đầu vào với logic trên và sau đó so sánh.

Ví dụ

from collections import Counter
def comparehalves(input_string):
    str_len = len(input_string)
    # Nếu số ký tự là lẻ, bỏ qua ký tự giữa
    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):]
    # Chuyển nửa thành list và sắp xếp
    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)

Kết quả

Chạy mã trên cho kết quả sau:

# Run1
Enter String: Tutorials
Both halves are different
# Run2
Enter String: TutTut
Same character in both halves