Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าครึ่งหนึ่งของสตริงมีชุดตัวอักษรเหมือนกันหรือไม่ใน Python

กำหนดสตริง งานของเราคือตรวจสอบว่าครึ่งหนึ่งของสตริงมีชุดตัวอักษรเหมือนกันหรือไม่ แก้ปัญหานี้โดยการแบ่งสตริงจากกลางได้สองครึ่ง แล้วตรวจสอบว่าแต่ละครึ่งมีชุดตัวอักษรเหมือนกันหรือไม่ ถ้าความยาวสตริงเป็นคี่ ให้ละเลยตัวอักษรกลางและตรวจสอบส่วนที่เหลือ

อัลกอริทึม

ขั้นตอนที่ 1: กำหนดสตริง
ขั้นตอนที่ 2: แบ่งสตริงอินพุตเป็นสองส่วน
ขั้นตอนที่ 3: แปลงทั้งสองส่วนเป็นดิกชันนารีด้วยเมธอด Counter(iterator) แต่ละดิกชันนารีมีตัวอักษรเป็นคีย์และความถี่เป็นค่า
ขั้นตอนที่ 4: เปรียบเทียบดิกชันนารีทั้งสอง ใช้ == ตรวจสอบคีย์และค่าของแต่ละคีย์ ถ้าทั้งคู่ตรงกัน แสดงว่าครึ่งทั้งสองมีชุดตัวอักษรเหมือนกัน

โค้ดตัวอย่าง

from collections import Counter

def checkhalves(input):
    length = len(input)
    if (length % 2 != 0):
        first = input[0:int(length / 2)]
        second = input[(int(length / 2)) + 1:]
    else:
        first = input[0:int(length / 2)]
        second = input[int(length / 2):]
    if Counter(first) == Counter(second):
        print("ทั้งสองครึ่งเหมือนกัน")
    else:
        print("ทั้งสองครึ่งไม่เหมือนกัน")

# โปรแกรมหลัก
if __name__ == "__main__":
    input = input("ป้อนสตริง ")
    checkhalves(input)

ผลลัพธ์

ป้อนสตริง abba
ทั้งสองครึ่งเหมือนกัน