此函数生成10个随机数的列表。我需要修改这个函数来从随机生成的列表中选择并打印最小的数字。请帮助,我很难用它:
import random
my_randoms=[]
for i in range (10):
my_randoms.append(random.randrange(1,101,1))
print (my_randoms)
答案 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
。