これは、ランダムサンプリングに関連しています。random.sample(number、5)を使用して、数値に含まれる数値の範囲内から乱数のリストを返しています。私はi<100の間に、5つの数値の100セットを返すために使用しています。重複をチェックするために、私は使用しています:
if len(numbers) != len(set(numbers)):
重複のあるセットを識別し、これに続いてrandom.sample(number、5)を実行して、別のランダム化を実行してセットを重複に置き換えようとします。私は約8%が再ランダム化されているようです(どの番号が重複しているかを示すためにprintステートメントを使用して)が、約5%が見落とされているようです。私は間違って何をしていますか?実際のコードは次のとおりです。
while i < 100:
set1 = random.sample(numbers1,5)
if len(set1) != len(set(set1))
print('duplicate(s) found, random selection repeated')
set1 = random.sample(numbers1,5)
別のルーチンでは、上記と同じことを行おうとしていますが、同じものを追加し、set1をset2に置き換えて、2つのセットで重複を検索しています。これにより、同じ種類の障害が発生します。set2ルーチンはインデントされ、上記のルーチンのすぐ下に配置されます。i <100の間:set2では繰り返されません。問題を明確に説明できたと思います!!