from typing import Any, Tuple


def 取前N项(元组数据: Tuple[Any, ...], 数量: int):
    """返回元组前 N 项。

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

    Args:
        元组数据: 待处理的元组。
        数量: 需要截取的成员数量。

    Returns:
        成功时返回新元组；失败时返回空元组 ``()``。
    """
    try:
        if not isinstance(元组数据, tuple) or not isinstance(数量, int) or 数量 < 0:
            return ()
        return 元组数据[:数量]
    except Exception:
        return ()


if __name__ == "__main__":
    print("===== 示例1：取前3项 =====")
    数据 = (1, 2, 3, 4, 5)
    print("结果:", 取前N项(数据, 3))

    print("\n===== 示例2：数量超过长度 =====")
    数据 = (1, 2)
    print("结果:", 取前N项(数据, 10))

    print("\n===== 示例3：数量非法 =====")
    数据 = (1, 2, 3)
    print("结果:", 取前N项(数据, -1))

    print("\n===== 示例4：数量为0 =====")
    数据 = (1, 2, 3)
    print("结果:", 取前N项(数据, 0))

    print("\n===== 示例5：空元组 =====")
    数据 = ()
    print("结果:", 取前N项(数据, 3))

    print("\n===== 示例6：应用场景-取排行榜前3名 =====")
    排行榜 = ("张三", "李四", "王五", "赵六", "钱七")
    print("结果:", 取前N项(排行榜, 3))



