zoukankan      html  css  js  c++  java
  • 编写一个函数,能够接受至少两个参数,返回最大最小值。

     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     
    为什么要坚持,想一想当初!
  • 相关阅读:
    2-4 递增链表的插入 链表
    KMPnext数组自看
    Shortest Prefixes POJ
    Xor Sum HDU
    Immediate Decodability HDU
    Repository HDU
    "strcmp()" Anyone? UVA
    Remember the Word UVALive
    A Magic Lamp HDU
    Check Corners HDU
  • 原文地址:https://www.cnblogs.com/JerryZao/p/9519150.html
Copyright © 2011-2022 走看看