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

 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值