问题
如何找出列表中绝对值最大与最小的那个数
解决方案
首先把列表中的元素的绝对值求出来,然后再用Python的内置方法max, min求出最大值,最小值,这是一种最常规的思路,我们今天就一改往常的做法, 我们来自己写个函数生成绝对值, 自己写代码求出最大值, 与最小值。
首先求出绝对值
def absVal(num):
if num < 0:
return -num
else:
return num
求出,列表绝对值的最大值
def absMax(x):
j =x[0]
for i in x:
if absVal(i) > absVal(j):
j = i
return j
def main():
a = [-15, 3, -10, -1]
print(absMax(a)) # -15
if __name__ == '__main__':
main()
求出,列表绝对值的最小值
def absMin(x):
j = x[0]
for i in x:
if absVal(i) < absVal(j):
j = i
return j
def main():
a = [-15, 3, -10, -1]
print(absMin(a)) # -1
if __name__ == '__main__':
main()
进一步思考
相信做完这个题目以后, 很多小伙伴都有一个疑问, 既然都有自带的 解决方案了, 为什么还要自己写函数解决这个问题呢?这里主要在于 你是在工作还是在自己学习, 如果你是工作这种问题能用标准库中的就用, 如果你是学习, 我的建议是多造一些轮子, 对你学习计算机有帮助。
WeChatd465310f6fae0c4c02013f55d4f8bae8.png