from random import randint
def random_number():
return randint (1,10)
rn1 = random_number()
rn2 = random_number()
while rn2 == rn1:
rn2 = random_number()
rn3 = random_number()
while rn3 == rn1 or rn3 == rn2:
rn3 = random_number()
rn4 = random_number()
while rn4 == rn1 or rn4 == rn2 or rn4 == rn3:
rn4 = random_number()
rn5 = random_number()
while rn5 == rn1 or rn5 == rn2 or rn5 == rn3 or rn5 == rn4:
rn5 = random_number()
私は今この小さなコードをしばらく苦労しています。私はランダムに5つの数字を生成するプログラムを取得しようとしています。問題は、プログラムが同じ番号を2回生成する可能性があるということでした。私はアルゴリズムで生成された5の中に重複した番号がないことを確認しようとしています。ただし、コードは重複して印刷されます。私が間違ってやっていることは何ですか?Pythonで数値をランダム化する際の重複を防ぐには?
@squeamishossifrage、彼らはランダムな順序で10、いない5から1以下の5つの数字をしたいです。 – Holloway
これは、 'random.sample(range(1、10)、5)'のような 'random.sample'を使ってきれいにすることができます。 – miradulo
1から10までの数字をシャッフルしてから、5を上から外すことができます。 – khelwood