Python编写一个函数,从10个随机生成的数字列表中选择最小的数字

时间:2018-06-01 06:18:16

标签: python python-3.x

此函数生成10个随机数的列表。我需要修改这个函数来从随机生成的列表中选择并打印最小的数字。请帮助,我很难用它:

import random
my_randoms=[]
for i in range (10):
    my_randoms.append(random.randrange(1,101,1))

print (my_randoms)

3 个答案:

答案 0 :(得分:2)

您可以将min函数用于O(n)复杂度

min(my_randoms)

答案 1 :(得分:0)

我会使用numpy

PackageManager.PERMISSION_GRANTED

简短说明:

import numpy as np

np.random.randint(1, 101, 10).min()

将打印出类似这样的内容

np.random.randint(1, 101, 10)

然后您只需使用array([91, 57, 53, 26, 95, 9, 31, 47, 29, 78]) 访问最小值。

在您的实施中,您只需

min()
正如@Austin在评论中提到的那样

答案 2 :(得分:0)

这听起来像是某种家庭作业。如果您需要对现有函数进行最少量的更改,并且您需要自己找到最小值(不调用内置函数),那么我建议:

                                                   0             1
1  '2018-05-15 15:35:57\t\n', 'A', 'xtre','..............'   101.5 (C)\n
2  '2018-05-15 15:35:57\t\n', 'A', 'xtre','..............'   105.0 (C)\n
3  '2018-05-15 15:35:57\t\n', 'A', 'xtre','..............'   118.0 (C)\n
4  '2018-05-15 15:35:57\t\n', 'A', 'xtre','..............'   110.0 (C)\n
5  '2018-05-15 15:35:57\t\n', 'A', 'xtre','..............'   110.0 (C)\n

更好,但代价是修改/重组功能代码:

In [14]: import random
    ...: my_randoms=[]
    ...: minv = None
    ...: for i in range (10):
    ...:     my_randoms.append(random.randrange(1,101,1))
    ...:     if minv is None:
    ...:         minv = my_randoms[-1]
    ...:     elif my_randoms[-1] < minv:
    ...:         minv = my_randoms[-1]
    ...: 
    ...: print (my_randoms)
    ...: print(minv)
    ...: 
[94, 24, 79, 75, 12, 57, 39, 37, 7, 96]
7

如果您被允许使用内置功能,则只需按照@Aran-Frey的建议拨打In [15]: import random ...: minv = random.randrange(1,101,1) ...: my_randoms = [minv] ...: for i in range (9): ...: v = random.randrange(1,101,1) ...: my_randoms.append(v) ...: if v < minv: ...: minv = v ...: ...: print (my_randoms) ...: print(minv) ...: [67, 33, 2, 83, 66, 93, 51, 57, 43, 55] 2