Python 如何从随机数字列表中获取最大值
我有这个密码,我正在努力工作。我可以创建一组随机数,但我需要显示最大值。我试图不使用python内置的max命令,但是,如果找不到解决方案,我会问一个例子Python 如何从随机数字列表中获取最大值,python,Python,我有这个密码,我正在努力工作。我可以创建一组随机数,但我需要显示最大值。我试图不使用python内置的max命令,但是,如果找不到解决方案,我会问一个例子 import random def randomNumbers(number): myList = [] numbersToCreate = number while numbersToCreate > 0: randomNumber = int(random.random() * 100)
import random
def randomNumbers(number):
myList = []
numbersToCreate = number
while numbersToCreate > 0:
randomNumber = int(random.random() * 100)
myList.append(randomNumber)
numbersToCreate = numbersToCreate -1
return myList
def randomNumbers(number):
theList = []
numbersToCreate = number
while numbersToCreate > 0:
randomNumber = int(random.random() * 100)
theList.append(randomNumber)
numbersToCreate -= 1
return theList
outList = randomNumbers(100)
outList.sort()
print outlist[-1] # No reason to slice the list, which is what you were doing.
我尝试输入的一段代码是:
theList = []
theList.sort()
biggest = theList [-1:][0]
print (theList)
当我尝试运行它时,我得到一个错误,告诉我列表没有定义。任何帮助都将不胜感激 这里有一个解决方案
import random
def randomNumbers(number):
myList = []
numbersToCreate = number
while numbersToCreate > 0:
randomNumber = int(random.random() * 100)
myList.append(randomNumber)
numbersToCreate = numbersToCreate -1
return myList
theList = randomNumbers(30)
biggest = max(theList)
print (biggest)
def randomNumbers(number):
theList = []
numbersToCreate = number
while numbersToCreate > 0:
randomNumber = int(random.random() * 100)
theList.append(randomNumber)
numbersToCreate -= 1
return theList
outList = randomNumbers(100)
outList.sort()
print outlist[-1] # No reason to slice the list, which is what you were doing.
这里有一个解决方案
import random
def randomNumbers(number):
myList = []
numbersToCreate = number
while numbersToCreate > 0:
randomNumber = int(random.random() * 100)
myList.append(randomNumber)
numbersToCreate = numbersToCreate -1
return myList
def randomNumbers(number):
theList = []
numbersToCreate = number
while numbersToCreate > 0:
randomNumber = int(random.random() * 100)
theList.append(randomNumber)
numbersToCreate -= 1
return theList
outList = randomNumbers(100)
outList.sort()
print outlist[-1] # No reason to slice the list, which is what you were doing.
您确实应该使用Python的函数,至少为了可读性
如果没有,您可以随时检查Python开发人员如何在Python中实现它,因为它是开源的。您确实应该使用Python的函数,至少为了可读性
如果没有,您可以随时检查Python开发人员是如何在Python中实现它的,因为它是开源的。首先,如果您想在列表中使用int,可以使用
random.randint(min,max)
而不是int(random.random()*100)
。
其次,您需要调用函数并将返回列表传递给列表
def randomNumberList(n):
theList = []
for i in range(n):
theList.append(random.randint(0,100))
return theList
theRealList = randomNumberList(n)
然后您将能够使用实际列表
theRealList.sort()
theBiggest = theRealList[-1]
首先,如果您想在列表中使用int,可以使用
random.randint(min,max)
而不是int(random.random()*100)
。
其次,您需要调用函数并将返回列表传递给列表
def randomNumberList(n):
theList = []
for i in range(n):
theList.append(random.randint(0,100))
return theList
theRealList = randomNumberList(n)
然后您将能够使用实际列表
theRealList.sort()
theBiggest = theRealList[-1]
为什么要先排序?您使用的是
max()
,这使得排序变得多余…但是使用max
是不可取的。@Soravux:-这只是一个答案。OP问如何使用max。我收到一个错误,告诉我max()arg是一个空序列。为什么要先排序?您使用的是max()
,这使得排序变得多余…但是使用max
是不可取的。@Soravux:-这只是一个答案。OP问如何使用max。我收到一个错误,告诉我max()arg是一个空序列。该列表中没有任何内容(在函数外部的代码段中)…当然它没有很好的定义。该列表中没有任何内容(在函数外的代码段中)…当然它没有很好的定义。这与OP的随机数生成略有不同,因为int(random.random()*100)
将[几乎]永远不会生成100,而是random.randint(01100)
将产生100个1/101的时间。这很可能是OP想要的。但是,randrange
是另一种可能性。这与我想要的非常接近。我只需要得到一个随机数字列表,显示它们,然后在最后显示最大值。@DSM我假设在这个过程中不需要跳过整数例,所以我没有提到random.randrange()
。你是对的,大约100,它应该是random.randint(0,99)
你不能用random\u list=lambda n:[random.randint(0,99)代替randomNumberList
吗
?这与OP的随机数生成略有不同,因为int(random.random()*100)
几乎不会生成100,而是random.randint(01100)
将产生100个1/101的时间。这很可能是OP想要的。但是,randrange
是另一种可能性。这与我想要的非常接近。我只需要得到一个随机数字列表,显示它们,然后在最后显示最大值。@DSM我假设在这个过程中不需要跳过整数例,所以我没有提到random.randrange()
。你是对的,大约100,它应该是random.randint(0,99)
你不能用random\u list=lambda n:[random.randint(0,99)代替randomNumberList
?