0

私は仕事をしようとしているこのコードを持っています。一連の乱数を作成できますが、最大値を表示する必要があります。私はpythonの組み込みのmaxコマンドを使用しないようにしていますが、解決策が見つからない場合は例を求めます.

import random
def randomNumbers(number):
    myList = []
    numbersToCreate = number
    while numbersToCreate > 0:
        randomNumber = int(random.random() * 100)
        myList.append(randomNumber)
        numbersToCreate = numbersToCreate -1
    return myList

私が入力しようとしたコードの1つはこれです:

theList = []
theList.sort()
biggest = theList [-1:][0]
print (theList)

それを実行しようとすると、リストが定義されていないというエラーが表示されます。どんな助けでも大歓迎です。

4

4 に答える 4

1

まず、リストに int が必要な場合は、random.randint(min, max)代わりにint(random.random()*100). 次に、関数を呼び出して戻りリストを渡す必要がありますtheList

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]
于 2012-08-31T01:46:54.033 に答える
1
theList = randomNumbers(30)
biggest = max(theList)
print (biggest)
于 2012-08-31T01:36:56.953 に答える
1

これが解決策です。

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.
于 2012-08-31T01:42:10.280 に答える
1

少なくとも読みやすさのためには、Pythonのmax()関数を使用する必要があります。

そうでない場合は、オープン ソースであるため、Python 開発者が Python でどのように実装したかをいつでも確認できます。

于 2012-08-31T01:43:02.883 に答える