Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonはどのように乱数を生成しますか?


Pythonの標準配布には、乱数生成機能を備えたランダムモジュールがあります。基本的なrandom()関数は、0から1までのランダムな浮動小数点数を返します

>>> import random
>>> random.random()
0.5204702770265925

同じモジュールから、連続する範囲の間の乱数を返すrandrange()関数があります。

>>> random.randrange(0,10)
4

リストまたはタプルからアイテムをランダムに選択するchoice()関数もあります

>>> random.choice([10,20,30,40,50])
40
>>> random.choice((10,20,30,40,50))
20

  1. Pythonを使用して素数を生成する方法は?

    素数は、1とそれ自体を除く他の数で割り切れない数です。 Pythonでは、%モジュロ演算子を使用して、数値が他の除算可能かどうかをテストできます。 1から100までの素数を見つける必要があると仮定すると、範囲内の各数(xとしましょう)は、2からx-1で除算できるかどうかを連続してチェックする必要があります。これは、2つのネストされたループを使用することで実現されます。 for x in range(1,101): for y in range(2,x): if x%y==0:break else: print (x,sep=' ', end=' ') 上

  2. 加重乱数を生成する方法

    乱数は通常、「一様分布」と呼ばれるものに従います。つまり、いずれかの番号が選択される可能性が同じです。 ただし、一部の数値を他の数値よりも頻繁に選択する場合は、別の戦略が必要になります。加重乱数ジェネレーター 。 いくつかの実用的なアプリケーションは次のとおりです。 ビデオゲームの戦利品テーブル。敵はさまざまなドロップ率でさまざまなアイテムをドロップできます。 より多くのチケットを持っている人が勝つチャンスが多いラッフル。 シンプルな戦略 ラッフルの例を考えると、明らかな解決策を思いつくことができます。「チケット」ごとにアイテムのコピーが1つある配列を生成します。 たとえば、ジョン