from typing import Any, Tuple


def 取中间项(元组数据: Tuple[Any, ...]):
    """返回元组的中间项。

    规则说明:
        - 当元组长度为奇数时，返回正中间的成员。
        - 当元组长度为偶数时，返回靠左的中间成员。

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

    Returns:
        成功时返回中间成员；失败时返回 ``None``。
    """
    try:
        if not isinstance(元组数据, tuple) or not 元组数据:
            return None
        中间索引 = (len(元组数据) - 1) // 2
        return 元组数据[中间索引]
    except Exception:
        return None


if __name__ == "__main__":
    print("===== 示例1：奇数长度取中间项 =====")
    数据 = (10, 20, 30, 40, 50)
    print("结果:", 取中间项(数据))

    print("\n===== 示例2：偶数长度取靠左中间项 =====")
    数据 = ("a", "b", "c", "d")
    print("结果:", 取中间项(数据))

    print("\n===== 示例3：单成员元组 =====")
    数据 = ("唯一",)
    print("结果:", 取中间项(数据))

    print("\n===== 示例4：空元组 =====")
    数据 = ()
    print("结果:", 取中间项(数据))

    print("\n===== 示例5：数据不是元组 =====")
    数据 = [1, 2, 3]
    print("结果:", 取中间项(数据))

    print("\n===== 示例6：应用场景-取流程中的当前核心节点 =====")
    流程节点 = ("开始", "资料审核", "支付确认", "发货", "完成")
    print("结果:", 取中间项(流程节点))
