def same_sign(nums):
    """
    Returns True if all numbers in nums have the same sign; otherwise, returns
    False (including the case where at least one number is zero).

    @type  nums: iterable
    @param nums: list of numbers to check

    @rtype: boolean
    @return: whether the numbers all have the same sign
    """
    if not hasattr(nums, "__iter__"):
        raise ValueError("nums is not iterable")
    
    if (all([num < 0 for num in nums]) or all([num > 0 for num in nums])
        or all([num == 0 for num in nums])): 
        return True
    return False