您的位置:

python找出最小值并点击,python找找出最大值和最小值

本文目录一览:

【python】数组中绝对值最小的数?

题目:有一个升序的数组,数组中可能有正数、负数或者0,求数组中元素的绝对值最小的数。例如,数组[-10, -5, -2, 7, 15, 50],该数组中绝对值最小的数是-2。

分析:二分法。该题可分为以下三种情况:

(1)如果数组第一个元素为非负数,那么minNum = arr[0]

(2)如果数组最后一个值为负数,那么minNum = arr[-1]。

(3)如果数组中既有正数又有负数,首先找到正数与负数的分界点,如果分界点恰好为0,那么0为最小值。否则通过比较分界点左右的正数与负数的绝对值来确定最小数。

如何查找正数与负数的分界点呢?采用二分法,主要思路:取数组中间位置的值a[mid],并将它与0值比较,比较结果分为如下三种情况:

(1)如果a[mid] == 0,那么这个数就是绝对值最小的数。

(2)如果a[mid] 0,a[mid - 1] 0,那么通过比较a[mid]与a[mid - 1]的绝对值就可以找到数组中绝对值最小的数;如果a[mid - 1] == 0, 那么a[mid - 1]就是要找的数;否则接着在数组的左半部分查找。

(3)如果a[mid] 0,a[mid + 1] 0,那么通过比较a[mid]与a[mid +1]的绝对值就可以找到数组中绝对值最小的数;如果a[mid + 1] == 0, 那么a[mid + 1]就是要找的数;否则接着在数组的右半部分查找。

code:

def findMinNum(arr):

    if arr is None or len(arr) = 0:

        return

    # [1] 数组中没有负数

    if arr[0] = 0:

        return arr[0]

    # [2] 数组中没有正数

    if arr[-1] = 0:

        return arr[-1]

    # [3] 数组中既有正数又又负数

    mid = None

    absMin = None

    begin = 0

    end = len(arr) - 1

    while begin end:

        mid = begin + (end - begin) 1

        # 如果arr[mid] == 0,则是绝对值最小的数

        if arr[mid] == 0:

            return 0

        # 如果大于0, 正负数的分界点在左侧

        elif arr[mid] 0:

            # 继续在数组的左半部分查找

            if arr[mid - 1] 0:

                end = mid - 1

            elif arr[mid - 1] == 0:

                return 0

            # 找到正负数的分界点

            else:

                break  # 如果小于0, 在数组右半部分查找

        else:

            # 在数组的右半部分继续查找

            if arr[mid + 1] 0:

                begin = mid + 1

            elif arr[mid + 1] == 0:

                return 0

            else:

                break

    # 获取正负数分界点处绝对值最小的值

    if (arr[mid] 0):

        if arr[mid] abs(arr[mid - 1]):

            absMin = arr[mid]

        else:

            absMin = arr[mid - 1]

    else:

        if abs(arr[mid]) abs(arr[mid + 1]):

            absMin = arr[mid]

        else:

            absMin = arr[mid + 1]

    return absMin

if __name__ == "__main__":

    arr = [-10, -5, -2, 7, 15, 50]

    print(findMinNum(arr))

python 怎么取列表中最小的数

求一个列表中的最小值,可以用min函数。例如:

li = [100,300,200,500,56,23,89]

print("列表中的最小值是:",min(li))

Python 随机产生[0,100]以内的随机数,找到最大值和最小值并交换位置

过程如图所示:

获取1~100以内的随机数有两种方法:

方法1:可以通过Math类中的random方法获取随机数,再乘以100加1,然后转换为int类型即可。

方法2:可以通过Random类中的nextInt方法获取随机数。

扩展资料

函数使用补充说明

1、random是用于生成随机数的,可以利用它随机生成数字或者选择字符串。

random.random(),用于生成一个随机浮点数:range[0.0,1.0)。

random.uniform(a,b),用于生成一个指定范围内的随机浮点数,a,b为上下限,只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a。

random.randint(a,b),用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a=n=b;若a=b,则n=a;若ab,报错。

random.randrange(, stop [,step]),从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1。

random.choice(sequence),从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等。

random.shuffle(x[,random]),用于将一个列表中的元素打乱。

random.sample(sequence,k),从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列。

2、Python中有join()和os.path.join()两个函数,具体作用如下:

join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。

os.path.join():将多个路径组合后返回。