如何将寻找列表最大次大数并计算的循环代码转为函数?
解决思路
1. 封装核心逻辑为函数
把原有代码的核心逻辑(初始化极值变量、循环遍历列表、计算和与差)封装到一个可复用的函数中,让函数接收数字列表作为入参,最终返回计算结果:
def calculate_largest_pair(numbers): # 初始化最大数和第二大数为极小值,确保能覆盖列表中的负数场景 largest_integer = -1e10 second_largest_integer = -1e11 for item in numbers: if item > largest_integer: second_largest_integer = largest_integer largest_integer = item elif item > second_largest_integer: second_largest_integer = item add = int(largest_integer + second_largest_integer) minus = int(largest_integer - second_largest_integer) return [add, minus]
2. 调用测试函数
定义好函数后,直接传入目标列表即可得到结果:
# 测试示例 numbers = [1,2,3,4,5] print(calculate_largest_pair(numbers)) # 输出 [9, 1]
3. 优化健壮性(可选)
原有代码默认输入列表至少包含2个元素,若要适配更多场景,可以添加参数校验:
def calculate_largest_pair(numbers): if len(numbers) < 2: raise ValueError("输入列表必须包含至少2个数字") largest_integer = -1e10 second_largest_integer = -1e11 for item in numbers: if item > largest_integer: second_largest_integer = largest_integer largest_integer = item elif item > second_largest_integer: second_largest_integer = item add = int(largest_integer + second_largest_integer) minus = int(largest_integer - second_largest_integer) return [add, minus]
内容的提问来源于stack exchange,提问作者Ra'ees Bello
相关产品推荐
相关产品推荐

