python randint 意味 - 0と9の間のランダムな整数を生成する





8 Answers

import random
print(random.randint(0,9))
random.randint(a, b)

a <= N <= bのようなランダムな整数Nを返します。

ドキュメント: https://docs.python.org/3.1/library/random.html#random.randint : https://docs.python.org/3.1/library/random.html#random.randint

random 小数 乱数

Pythonで0から9までの任意の整数を生成するにはどうすればよいですか?

例えば、 0




from random import randint

x = [randint(0, 9) for p in range(0, 10)]

これにより、範囲0〜9の10個の擬似乱数が生成されます。




これをrandom.shuffle試してみてください

>>> import random
>>> nums = [x for x in range(10)]
>>> random.shuffle(nums)
>>> nums
[6, 3, 5, 4, 0, 1, 2, 9, 8, 7]



連続した数値の場合は、おそらくrandintまたはrandrangeが最良の選択肢ですが、シーケンス(すなわちlist )にいくつかの異なる値がある場合は、 choice使うこともできます:

>>> import random
>>> values = list(range(10))
>>> random.choice(values)
5

choiceは、非連続サンプルの1つの項目に対しても機能します。

>>> values = [1, 2, 3, 5, 7, 10]
>>> random.choice(values)
7

あなたが "暗号的に強く"必要ならば、python 3.6以降にもsecrets.choiceがあります:

>>> import secrets
>>> values = list(range(10))
>>> secrets.choice(values)
2



元の質問は、 複数の乱数を生成することを意味します。

Pythonで0から9の整数を生成するにはどうすればよいですか?

しかし、多くの回答は、 random.randintrandom.choiceなどの乱数を得る方法しか示していません。

複数の乱数

分かりやすくするために、単純にN回反復することで、これらの手法を使用して複数の乱数を生成することができます。

import random


N = 5

[random.randint(0, 9) for _ in range(N)]
# [9, 7, 0, 7, 3]

[random.choice(range(10)) for _ in range(N)]
# [8, 3, 6, 8, 7]

乱数のサンプル

いくつかの投稿は、 複数の乱数を自然に生成する方法を示しています。 1暗黙の質問に対処するいくつかのオプションがあります:

random.sampleは母集団からkユニークな選択肢を返す(置換なし): 2

random.sample(range(10), k=N)
# [4, 5, 1, 2, 3]

Python 3.6では、 random.choicesは母集団からk選択肢を返します(置き換えあり):

random.choices(range(10), k=N)
# [3, 2, 0, 8, 2]

numpy.random.choiceを使用してこの関連記事も参照してください。

すなわち、@ジョン・ローレンス・アスペン、@STモハメッド、@SiddTheKid、@ user14372、@zangw、et al。

2 @prashanthはこのモジュールに1つの整数を示しています。




random.sampleは使用できる別のものです

import random
n = 1 # specify the no. of numbers
num = random.sample(range(10),  n)
num[0] # is the required number



最善の方法はインポート関数を使用することです。

import random
print(random.sample(range(10), 10))

ライブラリをインポートしない場合:

n={} 
for i in range(10):
    n[i]=i

for p in range(10):
    print(n.popitem()[1])

ここでpopitemsは辞書nから任意の値を削除して返します。




指定した例(0から始まって9までの整数)では、最もきれいな解決策は次のとおりです。

from random import randrange

randrange(10)



Related