How to check if two halves of a number are equal in Python

1 Answer

0 votes
def halves_equal(n: int) -> bool:
    s = str(n)
    length = len(s)

    if length % 2 != 0:
        return False  # cannot split evenly

    half = length // 2
    left = s[:half]
    right = s[half:]

    return left == right


def main():
    testNumbers = [1212, 123123, 45454545, 123, 1213]

    for n in testNumbers:
        print(f"{n} -> {'equal halves' if halves_equal(n) else 'not equal'}")


if __name__ == "__main__":
    main()



'''
run:

1212 -> equal halves
123123 -> equal halves
45454545 -> equal halves
123 -> not equal
1213 -> not equal

'''

 



answered Dec 21, 2025 by avibootz
...