编写一个函数,能够计算任一参数集合和任意对象数据类型集合中的最小值:

方法一:先获取第一个参数,然后对剩下的分片

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
 1 def mina(*args):
 2         res = args[0]
 3         for arg in args[1:]:
 4                 if arg<res:
 5                         res = arg
 6         return res
 7 print(mina(1,8,5,4,1,2,3))
 8 
 9 结果:
10 1

方法二:自动获取第一个参数以及其后的余数,避免了一次索引和分片

1 def mina(first,*rest):
2         for arg in rest:
3                 if first > arg:
4                         first = arg
5         return first
6 print(mina(9,7,5,8,6,1))
7 结果:
8 1

方法三:类型转换成list,然后使用sort方法,然后return第一个参数

1 def mina(*args):
2         tmp = list(args)
3         tmp.sort()
4         return tmp[0]
5 print(mina(9,8,5,6,7,4,3))
6 结果:
7 3

缺点:当尝试获取元素0时方法一会发生异常,当返回元素0时,方式三发生异常,当检测到传入参数不匹配时,方式二发生异常

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄