编写一个程序,找出列表中最大和最小数字之间的差值。
-
定义函数
difference_max_min()
,参数为list_nums
。 -
在函数内部,找出列表中的最大和最小数字,并返回差值。
思路:当列表不为空时,先假设列表中的第一个元素既是最大值也是最小值,通过 max_num = min_num = list_nums[0]
将列表的第一个元素赋值给 max_num
(代表最大值变量)和 min_num
(代表最小值变量),后续再通过循环去更新这两个值。
def difference_max_min(list_nums):
if list_nums:# 判断列表是否为空,为空则返回0(因为无法计算差值)
max_list=min_list=list_nums[0]#先假设列表第一个元素既是最大值也是最小值
for num in list_nums:
if num <min_list:
min_list=num
elif num>max_list:
max_list=num
return max_list-min_list
# 输入整数,并将其转换为列表
numbers = list(map(int, input().split()))
# 调用函数
print(difference_max_min(numbers))
优化:使用 for num in list_nums[1:]:
循环来遍历列表中除第一个元素之外的其他元素(因为第一个元素已经作为初始的最大最小值假设了)。