from typing import Any, Tuple


def 取后半部分(元组数据: Tuple[Any, ...]):
    """返回元组的后半部分。

    功能说明:
        - 这个函数用于返回元组的后半部分。
        - 常用于从元组中读取某个成员、某一段数据，或者计算出一个统计结果。
        - 如果当前数据不适合处理，函数会返回约定好的结果，方便新手直接判断这次是否成功取到值。

    Args:
        元组数据: 待处理的元组。

    Returns:
        成功时返回后半部分元组；失败时返回空元组 ``()``。
    """
    try:
        if not isinstance(元组数据, tuple):
            return ()
        分界点 = (len(元组数据) + 1) // 2
        return 元组数据[分界点:]
    except Exception:
        return ()


if __name__ == "__main__":
    print("===== 示例1：偶数长度后半部分 =====")
    数据 = (1, 2, 3, 4)
    print("结果:", 取后半部分(数据))

    print("\n===== 示例2：奇数长度后半部分 =====")
    数据 = (1, 2, 3, 4, 5)
    print("结果:", 取后半部分(数据))

    print("\n===== 示例3：单成员元组 =====")
    数据 = ("唯一",)
    print("结果:", 取后半部分(数据))

    print("\n===== 示例4：空元组 =====")
    数据 = ()
    print("结果:", 取后半部分(数据))

    print("\n===== 示例5：数据不是元组 =====")
    数据 = [1, 2, 3]
    print("结果:", 取后半部分(数据))

    print("\n===== 示例6：应用场景-取下半天的预约记录 =====")
    预约列表 = ("9点", "10点", "11点", "13点", "14点")
    print("结果:", 取后半部分(预约列表))



