[英]Python write a function that selects the smallest number from a list of 10 randomly generated numbers
此函數生成10個隨機數的列表。 我需要修改此功能,以便從隨機生成的列表中選擇並打印最小的數字。請幫忙,我很難過:
import random
my_randoms=[]
for i in range (10):
my_randoms.append(random.randrange(1,101,1))
print (my_randoms)
您可以使用min函數獲得O(n)復雜度
min(my_randoms)
我會用numpy
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()
訪問最小值。
在您的實現中,您只需
min(my_randoms)
如評論中提到的@奧斯汀
在我看來,這聽起來像是一種家庭作業。 如果您需要對現有功能進行最少的更改,並且需要自己減少 (不調用內置函數),那么我建議:
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
甚至更好,但是以修改/重構函數的代碼為代價:
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
如果允許使用內置函數,則只需按照@ Aran-Frey的建議調用min(my_randoms)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.