0

私は最初の OOP プロジェクトに取り組んでいました。これは乱数ジェネレーターであり、指定された範囲で多数の乱数を生成します。

import random
import math

resList=[]

class randomInRange:
    def getRandom(self, start, end, quantity):
        for i in range(quantity):
            selList = range(start, end)
            resNum = random.choice(selList)
            resList.append(resNum)

        return (resList)

RR=randomInRange()

次に、Python シェルで次のように入力します。

    (RR.getRandom(0,10,10))

[2, 2, 1, 4, 8, 1, 0, 7, 4, 5] しかし、関数を再度呼び出すと、新しく生成された数値が同じリストに追加されます。[2, 2, 1, 4, 8, 1, 0, 7, 4, 5, 4, 5, 3, 1, 8, 6, 7, 5, 4, 4]

どうすればこれを回避できますか? 新しいデータが同じリストに何度も追加され、リストが役に立たなくなるのを防ぐにはどうすればよいですか?

前もって感謝します!

4

3 に答える 3

0

または、さらに単純には次のようになります

import random

def getRandom(start, end, quantity):
    return [random.choice(range(start, end)) for _ in range(quantity)]

print getRandom(0, 10, 10)
于 2013-10-11T23:12:03.310 に答える
0
import random
import math

resList=[]

class randomInRange:
    def getRandom(self, start, end, quantity):
        for i in range(quantity):
            selList = range(start, end)
            resNum = random.choice(selList)
        if resNum not in resList:
                resList.append(resNum) 

        return (resList)

RR=randomInRange()
print RR.getRandom(0,10,10)
于 2013-09-06T11:25:54.740 に答える