编写一个函数,能够接受至少两个参数,返回最大最小值。

 1 '''
 2 编写一个函数,能够接受至少两个参数,返回最大最小值。
 3 '''
 4 
 5 # NO 1 使用内置函数 max() min()
 6 def mutil_nums(*nums):
 7     return max(nums),min(nums)
 8 print(mutil_nums(*range(10)))
 9 print(*mutil_nums(*range(10))) #将输出的元组,作为print()函数的参数再解构,打印
10 
11 # (9, 0)
12 # 9 0
13 
14 # No 2 使用sorted()内置函数,排序返回写列表,再去取两头
15 def mutil_nums(*nums):
16     lst = sorted(nums)
17     print(lst) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
18     return lst[-1],lst[0]
19 print(mutil_nums(*range(10)))
20 
21 # NO 3 使用选择排序,因为发现此要求不需要排序,所以只需要取出最值就可,而选择排序一轮就可以取出最值
22 # 效率最好的
23 def mutil_nums(*nums):
24     lst = list(nums)
25     length = len(lst)
26     
27     for i in range(length//2):
28         maxindex = i
29         minindex = -i - 1
30         for j in range(i+1, length-i):
31             if lst[maxindex] < lst[j]:
32                 maxindex = j
33             if lst[minindex] > lst[-j-1]:
34                 minindex = -j - 1
35         if minindex == maxindex:
36             break
37     print('maxnum is :',maxindex, lst[maxindex])
38     print('minnum is :',minindex, lst[minindex])
39 
40 mutil_nums(1,2,3)
41     
42     
为什么要坚持,想一想当初!
原文地址:https://www.cnblogs.com/JerryZao/p/9519150.html