可以使用Python中的类型检查来实现此功能。使用isinstance()函数检查参数类型,如果是整数则计算其平方,如果是整数列表则计算列表中每个元素的平方,并返回一个新的列表。代码示例如下:
def square(input):
if isinstance(input, int):
return input**2
elif isinstance(input, list):
return [i**2 for i in input]
else:
raise TypeError("Input must be an integer or a list of integers")
# 测试
print(square(2)) # 输出:4
print(square([2,3,4]))# 输出:[4, 9, 16]
print(square("a")) # 抛出错误:Input must be an integer or a list of integers
该函数接受一个参数input
,并检查其类型。如果是一个整数,返回它的平方。如果是一个整数列表,使用列表推导式计算每个元素的平方,并返回新的列表。如果input
参数既不是整数也不是整数列表,则抛出一个类型错误。测试代码中包含三个测试用例,分别测试函数接受整数、列表和字符串的情况。